トップ 一覧 検索 ヘルプ RSS ログイン

unity_input_keyboardの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!キーボード入力
これは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]]」を使うほうがよさそうです。