入力システムのインタフェース
Input Managerでセットアップした軸を読み込むためにこのクラスを使用し、
モバイルのマルチタッチ/加速度センサーのデータにアクセスします。
デフォルトの軸として用意されており Input.GetAxis で使用できるものとして:
"Horizontal" と "Vertical" はジョイスティック, A
, W
, S
, D
, 矢印キーにマッピングされます。
"Mouse X" と "Mouse Y" はマウスの移動量にマッピングされます。
"Fire1", "Fire2", "Fire3" は Ctrl
, Alt
, Cmd
キーとマウス、ジョイスティックボタンにマッピングされます。
Input Managerで新規に入力軸を追加する事ができます。
入力によってものを動かすようにしたいのであれば Input.GetAxis を使用してください。
これによりスムージングおよび編集できる Input をキーボード、ジョイスティック、またはマウスにマッピングできます。
Input.GetButton をアクション風のイベントのみに使用して下さい。動作には使用せず、Input.GetAxis によりスクリプトのコード量を抑え、シンプルに出来ます。
入力フラグが完了するまでリセットされないので、Update関数の中に記述することをお勧めします。
モバイルデバイス:
iOSやAndroidでは、マルチタッチ機能を利用でき、複数の指を認識することが可能です。
最終フレームにおけるスクリーンに対する各々のフィンガータッチのステータスのデータにアクセスするには、Input.touches プロパティ配列を使用します。
デバイスの動きに合わせて、加速度センサのハードウェアにより三次元空間における三つの主要軸に沿った加速度の線形変化が報告されます。
このデータを使用して現在のデバイスの向き(地面に対する相対的な)およびその向きに対する急な変化の両方を検知します。
各軸に沿った加速が重力の値としてハードウェアにより直接報告されます。
値が 1.0 の場合、与えられた軸に対する +1 G の力を示し、 -1.0 の値は -1 G を示します。
目の前にデバイスを垂直に持ち(ホームボタンが下)、X 軸は右向きが正の値を示し、
Y 軸は上向きが正の値を示し、Z軸は自身に向かう向きが正の値を示します。
Input.acceleration プロパティを読み取ることで、加速度センサの値を取得できます。
さらに Input.deviceOrientation プロパティを使用して三次元空間でのデバイスの向きを離散的な値を取得できます。
向きの変化を検知することは、ゲームの中でユーザがデバイスを持ち換えるためにデバイスを回転させたときのゲーム動作を作る上で役に立ちます。
加速度センサはフレームごとに 1 回以上ポーリングできることに注意して下さい。
最終フレーム以降の全ての加速度センサのサンプリングをアクセスするときは Input.accelerationEvents プロパティ配列を読み取ります。
これはプレイヤー動作を再作成するとき、予測に加速データをフィードしたり、精緻なモーション分析などに役に立ちます。
acceleration | 最後に測定した3次元空間でのデバイスの線形加速度 (Read Only) |
accelerationEventCount | 最後のフレーム間で発生した測定によって得た加速度の値の数 |
accelerationEvents | 最後のフレーム間で発生した測定によって得た加速度の値 (Read Only) (一時的な変数を割り当てます) |
anyKey | 現在何らかのキーまたはマウスボタンが押されているかどうか (Read Only) |
anyKeyDown | ユーザーが何らかのキーまたはマウスボタンを押した最初のフレームのみtrueを返します (Read Only) |
compass | コンパスにアクセスするためのプロパティ(ハンドヘルドのみ)(Read Only) |
compensateSensors | このプロパティは入力センサーが画面の向きによって補正する必要がある場合に使用します |
compositionCursorPos | IMEで開くウィンドウに使用される現在のテキスト入力の位置 |
compositionString | 現在ユーザーによって入力されている現在のIMEで構成された文字列 |
deviceOrientation | OSによって判断されるデバイスの物理的な方向 (Read Only) |
gyro | デフォルトのジャイロスコープを返します |
imeCompositionMode | IME入力構成のコントロールの有効/無効 |
imeIsSelected | ユーザーが選択したキーボード入力ソースがIMEであるかどうか |
inputString | 現フレームでキーボードで入力された文字を返します (Read Only) |
location | デバイスの位置にアクセスするためのプロパティ(ハンドヘルドのデバイスのみです) (Read Only) |
mousePosition | 現在のマウスの位置のピクセル座標 (Read Only) |
mouseScrollDelta | 現在のマウススクロールの移動量 (Read Only) |
multiTouchEnabled | マルチタッチをハンドリングするかのプロパティ |
simulateMouseWithTouches | WindowsストアアプリやWindows Phone 8でタッチでマウスシミュレーションを有効/無効にします。デフォルトでは有効です |
touchCount | タッチ数。そのフレームでは変更されないことが保証されています (Read Only) |
touches | 最後のフレーム間で全てのタッチ情報のオブジェクトリストを返します (Read Only) (一時的な変数を割り当てられます) |
touchSupported | 現在実行されているアプリのデバイスがタッチ入力をサポートしているかどうか |
GetAccelerationEvent | 最後のフレーム間で発生した加速度を返します(一時的な変数は割り当てられません) |
GetAxis | /axisName/ で識別される仮想軸の値を返します |
GetAxisRaw | /axisName/ で識別される仮想軸の平滑化フィルタが適用されていない値を返します |
GetButton | /buttonName/ で識別される仮想ボタンを押している間trueを返します |
GetButtonDown | /buttonName/ で識別される仮想ボタンを押したフレームの間だけtrueを返します。 |
GetButtonUp | /buttonName/ によって識別される仮想ボタンを離したフレームの間だけtrueを返します |
GetJoystickNames | 接続されたジョイスティック名の配列を返します |
GetKey | /name/ によって識別されるキーを押している間、trueを返します。オート射撃のようなものと考えてください |
GetKeyDown | /name/ によって識別されるキーを押したフレームの間だけtrueを返します |
GetKeyUp | /name/ によって識別されるキーを離したフレームの間だけtrueを返します |
GetMouseButton | マウスボタンが押されているかどうかを返します |
GetMouseButtonDown | ユーザーがマウスボタンを押したフレームの間だけtrueを返します |
GetMouseButtonUp | マウスボタンを離したフレームの間だけtrueを返します |
GetTouch | 特定のタッチ状態を表すオブジェクトを返します(一時的な変数は割り当てられません) |
ResetInputAxes | 全ての入力をリセットします。ResetInputAxesを行った後、全ての軸は0になり、全てのボタンは1フレームだけ0に戻ります |