ユーザ側でのキーコンフィグを可能にする/Input.GetButton

Update中にif(Input.GetKeyDown(KeyCode.Q))のような形で記述すれば特定のボタンを押したときの動作を実装できるが、この方法だと完全にQのキーしか使えない。
ユーザ側でのキーコンフィグを可能にする。と同時に対応キーを後々から変更したい場合に対応する。

1.新しい入力軸を追加する。
Edit→Project Settings→InputでInputManagerを呼び出す。
f:id:DYMN:20140301135244p:plain
インスペクタに新入力軸入力画面が出るので、適宜Sizeを変更して追加する。
今回はZoomCameraを追加し、"q"キーで対応するようにした。
参考:http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Manual/Input.html

2.スクリプト中でキーの押下を拾う。
GetKey(KeyCode.*)で拾っていた箇所をGetButton("InputManagerで設定した名前")とする。
以下に例示する。

    if(Input.GetKeyDown(KeyCode.Q))
    { Debug.Log("僕と契約して魔法少女になってよ!"); }
    ↓
    if(Input.GetButton("ZoomCamera"))
    { Debug.Log("わけがわからないよ"); }

これで"ZoomCamera"で設定したキーの押下を取得できるようになった。

3.実行前のキーコンフィグで変更する。
f:id:DYMN:20140301140330p:plain
製作したプログラムをRunする直前に出るConfiguration画面でZoomに対応するキーを変更する。
画面では"e"にしている。以上によりゲーム中では"e"キーでカメラの操作が可能になる。