質問するログイン新規登録

Q&A

1回答

143閲覧

Unity C#の速度パラメータが表示されない

Toma01

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2025/11/25 08:37

0

0

実現したいこと

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で実行

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

fiveHundred

2025/11/26 03:11

> エラーは特にないです。 コンソールは確認されましたか?
katsuko

2025/11/26 23:33 編集

画像を見ると、`Player1` というスクリプトがありますが、間違ってそちらを編集している、ということはありませんか。 インスペクタの問題のスクリプトに関して、「スクリプト」という項目があり、右に「Player」の項目がありますが、これをマウスでクリックすると、プロジェクトビュー上で該当するスクリプトがアクティブになります。 それが、あなたが想定しているスクリプト化、もしくは別のスクリプトを指しているか、確認してみてください。 なんかソースコードのコメントにクラス名を変えた、云々の内容が書かれていますが、 * MonoBehaviourのスクリプトは、クラス名とファイル名が一致していなければならない。 * ファイル名をUnityエディタ上以外(エクスプローラとか)で変えると、いろいろとヤバい(どうヤバいかは、説明が長くなるので、一旦省略します) のですが、心当たりはありますか。
guest

回答1

0

UnityEditor上で、speedの値を表示&編集したいのであれば、下記のように [SerializeField] を使うと良いです。

public class Player : MonoBehaviour { [SerializeField] public float speed = 5.0f; // (省略) }

投稿2025/11/26 12:25

JunSuzukiJapan

総合スコア316

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問