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

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

新規登録して質問してみよう
ただいま回答率
86.12%
Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

解決済

変数が代入されていないエラー

退会済みユーザー

退会済みユーザー

総合スコア0

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

1回答

0グッド

0クリップ

27214閲覧

投稿2016/10/11 12:53

UnassignedReferenceException: The variable shotSpawn of WeaponController has not been assigned.
You probably need to assign the shotSpawn variable of the WeaponController script in the inspector.
UnityEngine.Transform.get_position () (at /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineTransformBindings.gen.cs:26)
WeaponController.Fire () (at Assets/Script/WeaponController.cs:23)
とエラーが出ました。

WeaponControllerには

using UnityEngine; using System.Collections; public class WeaponController : MonoBehaviour { public GameObject shot; public Transform shotSpawn; public float fireRate; public float delay; public AudioClip[] clips = new AudioClip[2]; // public AudioClip[] clips; private AudioSource audioSource; // Use this for initialization void Start () { audioSource = GetComponent<AudioSource> (); InvokeRepeating ("Fire", delay, fireRate); } void Fire () { Instantiate (shot, shotSpawn.position, shotSpawn.rotation); AudioClip clip = clips [Random.Range (0, clips.Length)]; audioSource.clip = clip; audioSource.Play (); } }

と書きました。
これのどこにshotSpawn を代入すれば良いのでしょうか?

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

1

ベストアンサー

1.このスクリプトをオブジェクトに付けます。(このオブジェクトを「A」とします)
2.「A」を選択します。インスペクタ上にWeaponControllerが表示されているはずです。
3.shotSpawnに目的のオブジェクト(Transform)をドラッグ&ドロップしてください。

投稿2016/10/12 08:07

sakura_hana

総合スコア11411

HozDer👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。