実現したいこと
Unityでよみこんだ時に速度の調整パラメータタブが出るようにしたい
発生している問題・分からないこと
public float speed と宣言しているのに速度がUnity側に読み込まれない
エラーメッセージ
error
1エラーは特にないです。
該当のソースコード
C#
1using UnityEngine; 2 3public class Player : MonoBehaviour // クラス名を 'player' から 'PlayerMovement' に変更 (任意) 4{ 5 public float speed = 5.0f; // 速度の初期値を少し大きめに設定しました 6 7 // Start is called once before the first execution of Update after the MonoBeh is created 8 void Start() // 一番最初に実行される 9 { 10 } 11 12 // Update is called once per frame 13 void Update() // 毎フレーム実行される 14 { 15 16 if (Input.GetKey(KeyCode.LeftArrow)) 17 { 18 // 範囲制限の条件式を修正 (>= -4 -> > -4) 19 if (this.transform.position.x > -4) 20 { 21 // 移動量を計算。speed * Time.deltaTime でフレームレートに依存しない移動を実現 22 this.transform.position += Vector3.left * speed * Time.deltaTime; 23 } 24 } 25 26 if (Input.GetKey(KeyCode.RightArrow)) 27 { 28 if (this.transform.position.x < 4) 29 { 30 this.transform.position += Vector3.right * speed * Time.deltaTime; 31 } 32 } 33 } 34} 35
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
AIに質問してみましたが望む結果が出ませんでした。
補足
Unity6.0
VScodeで実行
> エラーは特にないです。
コンソールは確認されましたか?
画像を見ると、`Player1` というスクリプトがありますが、間違ってそちらを編集している、ということはありませんか。
インスペクタの問題のスクリプトに関して、「スクリプト」という項目があり、右に「Player」の項目がありますが、これをマウスでクリックすると、プロジェクトビュー上で該当するスクリプトがアクティブになります。
それが、あなたが想定しているスクリプト化、もしくは別のスクリプトを指しているか、確認してみてください。
なんかソースコードのコメントにクラス名を変えた、云々の内容が書かれていますが、
* MonoBehaviourのスクリプトは、クラス名とファイル名が一致していなければならない。
* ファイル名をUnityエディタ上以外(エクスプローラとか)で変えると、いろいろとヤバい(どうヤバいかは、説明が長くなるので、一旦省略します)
のですが、心当たりはありますか。