Input
Manual     Reference     Scripting   
Unityマニュアル > ユーザガイド > ゲームプレイの作成 > 入力

このドキュメントは有志により翻訳されたもので、オフィシャルではありません。オリジナルのページはこちら
This document is unofficially translated by users.Please see the original document here.

翻訳に関する修正など、ご連絡はこちらまで。
Please send e-mail to here, when you have any question about the translation.

入力(Input)

Unityはキーボード、ジョイスティック、ゲームパッドの入力をサポートします。

仮想軸とボタンはInput Managerで 作成できます。ゲームをプレイするユーザはキーボード入力を素晴らしい画面設定ダイアログで編集することが出来ます。

ジョイスティック、ゲームパッド、キーボード、マウスを設定し、シンプルなスクリプトインタフェースを通じてアクセ スすることが出来ます。

スクリプトから、全ての仮想軸は名前でアクセス可能です。

全てのプロジェクトは次のデフォルト入力軸を作成時に持っています:

新しい入力軸の追加(Adding new Input Axes)

新しい仮想軸を追加したい場合はEdit->Project Settings->Inputメニューを開きます。それぞれの軸の変更もここで行ないます。

それぞれの軸をジョイスティック、マウス、キーボードの2つのボタンにマップします。



Name スクリプトから軸を確認するのに使用する名前
Descriptive Name スタンドアロンビルドの時に、設定ダイアログのインプットタブに表示される正の値の名前
Descriptive Negative Name スタンドアロンビルドの時に、設定ダイアログのインプットタブに表示される負の値の名前
Negative Button 軸の負の方向を押すのに用いるボタン
Positive Button 軸の正の方向を押すのに用いるボタン
Alt Negative Button 軸の負の方向を押すのに用いる代替ボタン
Alt Positive Button 軸の正の方向を押すのに用いる代替ボタン
Gravity ボタンが押されていない場合に秒ごとに軸方向に落下する速度(ユニット)
Dead アナログデッドゾーンのサイズ。この範囲に入るすべてのアナログデバイス値は無入力にマップされる。
Sensitivity 軸が値方向に移動する秒ごとの速さ(ユニット)。デジタルデバイスのみ使用。
Snap 有効化すると、軸の値は逆の方向ボタンを押したときに0に設定される
Invert 有効化すると、負のボタンが正の値を生成する。逆も同様。
Type この軸をコントロールする入力のタイプ
Axis この軸をコントロールする、接続されたデバイスの軸
Joy Num この軸をコントロールする、接続されたジョイスティックの番号

これらの設定を使い、入力を見た目と正しくなるように調整します。これらはエディタのツールチップにドキュメント化 されています。

スクリプトからの入力軸の使用(Using Input Axes from Scripts)

現在の状態をスクリプトから以下のように取得できます:

value = Input.GetAxis ("Horizontal");

軸は-1から1の値を持ちます。無入力状態では0です。これは、ジョイスティックの入力とキーボードの入力が有りま す。

Mouse deltaとWIndow Shake deltaはマウスやウィンドウが、直前のフレームからどの程度移動したかを表します。これは1より大きくなったり、-1より小さくなったりする場合があ ります。

同じ名前の複数の軸を作ることはk脳です。入力軸を受け取るとき、最大の絶対値を持つ軸が返されます。これにより、 2つ以上のデバイスを軸の名前に割り当てることが出来ます。例えば、ひとつの軸をキーボード入力とジョイスティック入力に同じ名前で作成できます。ユーザ が女医スティクを使っていれば入力はジョイスティックから、そうでなければキーボードから入力されます。スクリプトを書く際にどの入力から値が着ているの かを考慮する必要はありません。

ボタンの名前(Button names)

キーを軸にマップするには、キーの名前をPositive ButtonNegative Button 属性にイン スペクタで入力します。

キーの名前は次の規約に従います:

キーを識別する名前は、スクリプトとインスペクタで同一です。

value = Input.GetKey ("a");