入力システムのインターフェイス
Input Manager でセットアップした軸を読み込むためにこのクラスを使用し、
モバイルのマルチタッチ/加速度センサーのデータにアクセスします。
デフォルトの軸として用意されており Input.GetAxis で使用できるものとして:
"Horizontal" と "Vertical" はジョイスティック、/A/、/W/、/S/、/D/、矢印キーにマッピングされます。
"Mouse X" と "Mouse Y" はマウスの移動量にマッピングされます。
"Fire1"、"Fire2"、"Fire3" は Cmd
、Cmd
、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 プロパティー配列を読み取ります。
これはプレイヤー動作を再作成するとき、予測に加速データをフィードしたり、精緻なモーション分析などに役に立ちます。
#pragma strict public function Update() { if (Input.GetButtonDown("Fire1")) { Debug.Log(Input.mousePosition); } }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public void Update() { if(Input.GetButtonDown("Fire1")) { Debug.Log(Input.mousePosition); } } }
acceleration | 最後に測定した 3 次元空間でのデバイスの線形加速度(読み取り専用) |
accelerationEventCount | 最後のフレーム間で発生した測定によって得た加速度の値の数 |
accelerationEvents | 最後のフレーム間で発生した測定によって得た加速度の値(読み取り専用) (一時的な変数を割り当てます) |
anyKey | 現在何らかのキーまたはマウスボタンが押されているかどうか(読み取り専用) |
anyKeyDown | ユーザーが何らかのキーまたはマウスボタンを押した最初のフレームのみ true を返します(読み取り専用) |
backButtonLeavesApp | Should Back button quit the application?Only usable on Android, Windows Phone or Windows Tablets. |
compass | コンパスにアクセスするためのプロパティー(ハンドヘルドのみ)(読み取り専用) |
compensateSensors | このプロパティーは入力センサーが画面の向きによって補正する必要がある場合に使用します |
compositionCursorPos | IME で開くウィンドウに使用される現在のテキスト入力の位置 |
compositionString | 現在ユーザーによって入力されている現在の IME で構成された文字列 |
deviceOrientation | OS によって判断されるデバイスの物理的な方向(読み取り専用) |
gyro | デフォルトのジャイロスコープを返します |
imeCompositionMode | IME 入力構成のコントロールの有効/無効 |
imeIsSelected | ユーザーが選択したキーボード入力ソースが IME であるかどうか |
inputString | 現フレームでキーボードで入力された文字を返します(読み取り専用) |
location | デバイスの位置にアクセスするためのプロパティー(ハンドヘルドのデバイスのみです)(読み取り専用) |
mousePosition | 現在のマウスの位置のピクセル座標(読み取り専用) |
mousePresent | Indicates if a mouse device is detected. |
mouseScrollDelta | 現在のマウススクロールの移動量(読み取り専用) |
multiTouchEnabled | マルチタッチをハンドリングするかのプロパティー |
simulateMouseWithTouches | Enables/Disables mouse simulation with touches. By default this option is enabled. |
stylusTouchSupported | Returns true when Stylus Touch is supported by a device or platform. |
touchCount | タッチ数。そのフレームでは変更されないことが保証されています(読み取り専用) |
touches | 最後のフレーム間で全てのタッチ情報のオブジェクトリストを返します(読み取り専用) (一時的な変数を割り当てられます) |
touchPressureSupported | Bool value which let's users check if touch pressure is supported. |
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 | 特定のタッチ状態を表すオブジェクトを返します(一時的な変数は割り当てられません) |
IsJoystickPreconfigured | Determine whether a particular joystick model has been preconfigured by Unity. (Linux-only). |
ResetInputAxes | 全ての入力をリセットします。ResetInputAxes を行った後、全ての軸は 0 になり、全てのボタンは 1 フレームだけ 0 に戻ります |