【unity関数】プレイヤーの移動【Input.GetAxisRaw】 | えんぴつのブログ

えんぴつのブログ

プログラミングを書いたり、ゲームをしたり
夢は安定した老後

テーマ:
 【Input.GetAxisRaw】

 シューティングゲームのような上下左右にプレイヤーを動かす時は、Input.GetAxisRawを利用します。

 矢印キーの左を押せば-1、右を押せば1、何も押さなければ0を取得できます。これはキーボードのような「押す/押さない」の2択しかない場合に使用してください。

 アナログスティックのような完全には押し込まず、中途半端な状態が存在する場合は0から1の間の値も検出できるInput.GetAxis(string axisName)を使用します。

 実装したコードは次のようになります。

【Player.cs】

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour
{
 // 移動スピード
 public float speed = 5;

 void Update ()
 {
  // 右・左
  float x = Input.GetAxisRaw ("Horizontal");

  // 上・下
  float y = Input.GetAxisRaw ("Vertical");

  // 移動する向きを求める
  Vector2 direction = new Vector2 (x, y).normalized;

  // 移動する向きとスピードを代入する
  rigidbody2D.velocity = direction * speed;
 }
}

 ---------------------------------------------------
個人ブログもよろしく!
 動物園てくの
 喫茶店てくの
 漫画喫茶てくの