前提
現在Unityで縦画面の2Dランゲームを作っている初心者です。
ゲーム中はプレイヤーに自動でy軸上方向に走ってもらいたいのでネットを参考に以下のコードを書いたところ、
エラーはないのにプレイヤーが動かない、ということが起きました。
もしかしたらソースコードではなくUnity側の問題である可能性もあるのですが、いかんせん何が問題なのかわからないので
こちらに質問させていただきました。
実現したいこと
・プレイヤーが自動で上方向に移動するようにする。
発生している問題・エラーメッセージ
なし
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class CarMove : MonoBehaviour 6{ 7 public float speed = 10f; //上に移動する速度 8 Rigidbody2D rb; // リジッドボディを使うための宣言 9 10 // Start is called before the first frame update 11 void Start() 12 { 13 //リジッドボディのコンポーネント取得 14 rb = this.gameObject.GetComponent<Rigidbody2D>(); 15 } 16 17 // Update is called once per frame 18 void Update() 19 { 20 21 } 22 23 private void FixedUpdate() 24 { 25 //スピードを与える 26 rb.velocity = new Vector2(rb.velocity.x, speed); 27 } 28 29} 30
試したこと
スピードを与える処理を FixedUpdate ではなく、Start の方に入れてみました。が、動きませんでした。
ためしにスピードを与える処理のxとyを入れ替えて(speed, rb.velocity.y);としてみましたがこちらも動きませんでした。
補足情報(FW/ツールのバージョンなど)
Unity 2021 3.10f1
回答1件
あなたの回答
tips
プレビュー