キーコンフィグ作りについて

ホーム フォーラム CF2.5使用法全般 キーコンフィグ作りについて

8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #15240
    Master.typeX
    参加者

    どうも、お世話になっております。

    現在作っているゲームに
    ゲームパッドまたはキーボードだけで完結する
    キーコンフィグを作ろうとしているのですが
    サンプルの動作では方向が重複して設定できる上に
    重複すると動作もおかしくなってしまいます。

    キーコンフィグ作りの何かいいヒントを下さるとありがたいのですが・・・

    Attachments:
    You must be logged in to view attached files.
    #15242
    ASD
    キーマスター

    >>Master.typeXさん
    プレイヤーの押したキーやボタンを即設定に反映させるのではなく、まずは一旦入力されたキー名やボタン番号は可変文字列や変数にプールしておきます。
    次に可変文字列・変数の内容を、既に設定されている各操作の設定と比較して、重複させたくない場合は、キャンセル扱いにするか、被っている設定と入れ替える(例:Xキーが設定されているジャンプ操作に新たにZキーを設定した際に、別のパンチ操作に既にZキーが設定されているなら、パンチ操作にジャンプ操作の前の設定であるXキーを移し、ジャンプにZキーを設定する)処理を組みます。

    プレイヤーが設定したいキー・ボタンを入力

    可変文字列・変数へ入れる

    可変文字列・変数の内容を他の操作の設定内容と1つずつ比較し、重複していたらその時点でキャンセル扱いにするか、旧設定と入れ替える

    設定反映

    #15245
    Master.typeX
    参加者

    >ASDさん

    ありがとうございます。

    おかげさまで、なんとか形にはなってきました。
    キーコンフィグは結構作るのが大変ですね・・・
    身をもって知りました・・・(苦笑)

    もう一つ質問ですが、Xboxのコントローラーのように
    L2R2がトリガー式のコントローラーの場合
    これらをどうやったらボタンとして認識できるのでしょうか?

    #15247
    ASD
    キーマスター

    ボタンとしては認識されず、押していない状態を0として、どれくらい押したかが値で返ります。
    単純に他のボタンのように押したか押していないかを判定するなら、最大値の値が返ってきたら押されたとしてアクションをさせるといいでしょう。

    『トリガーが押された』という条件は無いので、常に実行される条件を用いて値を取得するようにします。

    『Joystick 2』オブジェクトでは、数式の『Get Axis Values』の『Raw Z value』で取得できます。ただしこちらは、左を押すとプラスの値に、右を押すとマイナスの値が返り、両方押すと0のまま動かなくなるため、同時押しには対応できません。また、パッドによっては押し込んだ時の最大値が異なる場合があるため(995だったり1000だったり)、ある程度少な目の値をしきい値にするなどの配慮が必要です。

    『Xboxゲームパッド』オブジェクトでは『トリガー』の『左トリガーの位置を取得』『右トリガーの位置を取得』で取得できます。こちらは左右で独立しているので同時押しにも対応可能です。

    #15252
    Master.typeX
    参加者

    >ASDさん

    うーん、「ボタン」としてはどうしても認識してくれないのですね。
    ControlXと組み合わせれば「キーボード」のキーの一つとしては認識できるところまでは
    わかったのですが・・・

    #15253
    Master.typeX
    参加者

    すみません。少し問題が発生しました。
    まずはサンプルをご確認ください。

    キーコンフィグ画面が一応完成したのですが
    オプション画面①に行くと、キーボード以外の動作を受け付けなくなってしまいます。
    自分で調べたところ、親となるフレームとキーコンフィグ画面①の両方にある
    Joystick2とControlXがどうも問題を起こしているようです。

    どちらのフレームでも使用しているため
    消すに消せなくて困ってます・・・

    Attachments:
    You must be logged in to view attached files.
    #15255
    ASD
    キーマスター

    キーコンフィグのフレームに『制御:キーコントロール』という名前のアクティブオブジェクトが存在していないせいではないでしょうか。親フレームからそのオブジェクトをコピーしたところ、操作可能になりました。

    #15256
    Master.typeX
    参加者

    >ASDさん

    ありがとうございます、コピペしたら
    確かに動作いたしました!

8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • このトピックに返信するにはログインが必要です。