質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.49%
C#

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

Unity

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

Q&A

解決済

2回答

3530閲覧

Unity C#のvelocityについて。

R_K0712

総合スコア15

C#

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

Unity

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

0グッド

0クリップ

投稿2017/06/18 00:46

私は今、Unity公式サイトのチュートリアルにて、この動画(下参照)を見ながら、シューティングゲームの自機移動のプログラミングを作っているのですが、最後のvelocityで引っかかってしまいます・・・どうすればこのエラーを解消できますか?
公式サイトより、自機移動のチュートリアル。

C#

1using UnityEngine; 2using System.Collections; 3 4public class PlayerController : MonoBehaviour 5{ 6 void FixedUpdate () 7 { 8 float moveHorizontal = Input.GetAxis ("Horizontal"); 9 float moveVertical = Input.GetAxis ("Vertical"); 10 11 Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical); 12 rigidbody.velocity = movement; 13 14 } 15 16}

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ムービーの途中に、以下のようなメッセージが表示されました。

Please note, that in Unity 5 and later, we can no longer
access components using their "shorthand helper
references", which in this case was "rigidbody".

We must now access this directly using "GetComponent".

Please see the Project Page or the Upgrade Guide for more
detailed information.

※Unity 5以降は、もはや「簡略補助参照(shorthand helper references)」、今回のケースでは「rigidbody」を用いてコンポーネントにアクセスすることはできなくなった点にご注意ください。
現在は「GetComponent」を用いてアクセスする必要があります。
詳しい情報はプロジェクトページやアップグレードガイドをご覧ください。

とのことで、GetComponent<Rigidbody>().velocity = movement;などと書き換える必要があるかと思います。

投稿2017/06/18 01:25

Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

R_K0712

2017/06/18 02:15

動画に記載してあったんですね・・・ Bongoさんのように書き換えてみた結果、無事に自機を動かすことができました! ありがとうございます!
guest

0

Bongoさん回答を拝見すると単にC#の言語仕様の範囲の問題ではなかったようです。失礼しました。


Unityマニュアル: Rigidbody.velocityのサンプルと質問者さんのコードを見比べてみると・・・

「rigitbodyはRigidbody型の変数である」という宣言がないように見えますので未定義変数というようなエラーになっているのではないかと思いました。

最後のvelocityで引っかかってしまいます・・・

どういう問題がおこったのか、エラーメッセージなどの具体的事実をを明記するとよいと思います。エラーメッセージの内容によっては「Unityをやったことがない閲覧者でもC#の経験がある方」ならアドバイスできることがありますので。

投稿2017/06/18 01:18

編集2017/06/18 01:32
KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問