前提・実現したいこと
ブロック崩しを作る過程で、
ボタンを押したらボールが動き始めるようにしようとしています。
発生している問題・エラーメッセージ
ボタンを押すと、NullReferenceException: Object reference not set to an instance of an objectとエラーが出ます。
Ballのソースコード
C#
1using UnityEngine; 2using UnityEngine.UI; 3using System.Collections; 4 5public class BallScript : MonoBehaviour { 6 7 public static int balltype; 8 9 // Use this for initialization 10 void Start () { 11 balltype = 1; 12 //StartMove(); 13 } 14 15 public void StartMove(){ 16 17 var body = gameObject.GetComponent<Rigidbody2D>(); 18 var canvas = GetComponentInParent<Canvas>(); 19 var direction = new Vector2(1, 1).normalized; 20 body.velocity = direction * 480 * canvas.transform.localScale.x; 21 } 22: 23: 24:
Buttonのソースコード
C#
1using UnityEngine; 2using System.Collections; 3 4public class ButtonScript : MonoBehaviour { 5 6 /// ボタンをクリックした時の処理 7 public void OnClick() 8 { 9 Debug.Log("Button click!"); 10 var ball = GetComponent<BallScript>(); 11 ball.StartMove(); 12 } 13}
ゲームスタートの手法で、より良い方法をご存じの方がいらっしゃいましたら、
そちらについても教えていただけたら嬉しいです。
以上よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/19 09:47