Roll-a-ball の制作(8) Playerオブジェクトの動作を変更する
Unity公式サイトのチュートリアルに沿って、
Roll a ballというサンプルゲームを制作する8回目です。
前回は、Playerオブジェクトが動作するようC#のコードを修正しました。
今回はPlayerオブジェクトの動作を変更していきます。
今回はC#でPlayerオブジェクトの動作を記述していきます。
■ Playerオブジェクトの移動速度を変更する
前回までのPlayerControllerのコードを以下のように修正します。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; public class PlayerController : MonoBehaviour { public float speed = 0.0f; private Rigidbody rb; private float movementX; private float movementY; // Start is called before the first frame update void Start() { rb = GetComponent<Rigidbody>(); } void OnMove(InputValue movementValue) { Vector2 movementVector = movementValue.Get<Vector2>(); movementX = movementVector.x; movementY = movementVector.y; } private void FixedUpdate() { Vector3 movement = new Vector3(movementX, 0.0f, movementY); rb.AddForce(movement * speed); } }
変数 speed をpublic で 宣言すると、
Unityエディタ上のインスペクタに、speedというプロパティが現れるのでここに
例えば10と値を入れてみます。
再生してみると、おぉ!Σ(・□・;)確かに入力した値分Playerの移動速度が速くなっていますね。
今回はここまでにします。
次回はカメラ位置の設定を行います。