前提・実現したいこと
https://cfm-art.sakura.ne.jp/sys/archives/527
上記URLサイト(【チュートリアル】uGUIとPhysics2Dでブロック崩しを作ってみる)
を参考に、ゲームを作る過程で、
球(image)が壁(image)に当たるたびに反射して、
球の色を変えようとしています。
発生している問題・エラーメッセージ
球が壁に当たると球も壁も一緒に色が変わってしまいます。
該当のソースコード
C#
1using UnityEngine; 2using UnityEngine.UI; 3 4public class BallScript : MonoBehaviour { 5 6 void Start () { 7 8 var body = gameObject.GetComponent<Rigidbody2D>(); 9 var canvas = GetComponentInParent<Canvas>(); 10 var direction = new Vector2(1, 1).normalized; 11 body.velocity = direction * 480 * canvas.transform.localScale.x; 12 } 13 14 // Update is called once per frame 15 void Update () { } 16 17 public void changeColor() 18 { 19 var image = GetComponent<Image>(); 20 image.material.color = Color.red; 21 } 22 23 void OnCollisionEnter2D(Collision2D collision) 24 { 25 Debug.Log("Hit" + collision.gameObject.name); // ログを表示する 26 changeColor(); 27 } 28}
試したこと
壁と球でcanvasを別にしてもダメでした。
最近unityの勉強を始めたばかりで知識不足のため、
しょうもないことをお聞きしているかもしれませんが解決策に心当たりのある方が、
いらっしゃいましたら回答のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/10 05:34