- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!キーボード入力
これはPCだけのコマンドになります。android/iOSでは無効。
「Main Camera」として配置したGameObjectをW/S/A/Dで移動させる例です。
public class TestScript : MonoBehaviour {
private GameObject m_char1;
void Start () {
m_char1 = GameObject.Find("char1"); // char1のGameObjectを呼び出し.
}
void Update () {
Vector3 v = m_char1.transform.localPosition;
if (Input.GetKey(KeyCode.W)) { // Wキーで前進.
v.z += 0.05f;
}
if (Input.GetKey(KeyCode.S)) { // Sキーで後退.
v.z -= 0.05f;
}
if (Input.GetKey(KeyCode.A)) { // Aキーで左移動.
v.x -= 0.05f;
}
if (Input.GetKey(KeyCode.D)) { // Dキーで右移動.
v.x += 0.05f;
}
m_char1.transform.localPosition = v;
}
}
Update関数で「Input.GetKey(KeyCode.W)」とすると、「W」キーが押されている場合はtrueが返されます。
他のキーコードとしては以下のようなものがあります。
,キーコード,キー名
,KeyCode.Escape,ESC
,KeyCode.Space,スペース
,KeyCode.LeftShift,Shift(左)
,KeyCode.RightShift,Shift(右)
,KeyCode.Return,Enter
,KeyCode.LeftArrow,←
,KeyCode.RightArrow,→
,KeyCode.UpArrow,↑
,KeyCode.DownArrow,↓
これらのキー入力はキーダウンでの即時反応になります。
できるだけ直接キー入力を判断するのではなく、InputManagerを経由する「[[自キャラを動かす|unity_move_mychar]]」を使うほうがよさそうです。