質問編集履歴

1

質問を途中書きで掲載してしまいましたため修正しました。

2019/07/09 13:33

投稿

shibashi
shibashi

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,10 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
+ https://cfm-art.sakura.ne.jp/sys/archives/527
3
4
 
5
+ 上記URLサイト(【チュートリアル】uGUIとPhysics2Dでブロック崩しを作ってみる)
6
+
7
+ を参考に、ゲームを作る過程で、
4
8
 
5
9
  球(image)が壁(image)に当たるたびに反射して、
6
10
 
@@ -12,9 +16,13 @@
12
16
 
13
17
 
14
18
 
15
- 壁に当たると球も壁も一緒に色が変わってしまいます。
19
+ 球が壁に当たると球も壁も一緒に色が変わってしまいます。
16
20
 
17
21
 
22
+
23
+ ![イメージ説明](7e6df33c574b63a89622f0e41cb7dd32.png)
24
+
25
+ ![イメージ説明](e7fc8358ccf693439722e8b631401035.png)
18
26
 
19
27
  ### 該当のソースコード
20
28
 
@@ -28,17 +36,55 @@
28
36
 
29
37
 
30
38
 
31
- void Start () {
32
-
33
- var body = gameObject.GetComponent<Rigidbody2D>();
34
-
35
- var canvas = GetComponentInParent<Canvas>();
36
-
37
- var direction = new Vector2(1, 1).normalized;
39
+ public class BallScript : MonoBehaviour {
38
-
39
- body.velocity = direction * 480 * canvas.transform.localScale.x;
40
40
 
41
41
 
42
+
43
+ void Start () {
44
+
45
+
46
+
47
+ var body = gameObject.GetComponent<Rigidbody2D>();
48
+
49
+ var canvas = GetComponentInParent<Canvas>();
50
+
51
+ var direction = new Vector2(1, 1).normalized;
52
+
53
+ body.velocity = direction * 480 * canvas.transform.localScale.x;
54
+
55
+ }
56
+
57
+
58
+
59
+ // Update is called once per frame
60
+
61
+ void Update () { }
62
+
63
+
64
+
65
+ public void changeColor()
66
+
67
+ {
68
+
69
+ var image = GetComponent<Image>();
70
+
71
+ image.material.color = Color.red;
72
+
73
+ }
74
+
75
+
76
+
77
+ void OnCollisionEnter2D(Collision2D collision)
78
+
79
+ {
80
+
81
+ Debug.Log("Hit" + collision.gameObject.name); // ログを表示する
82
+
83
+ changeColor();
84
+
85
+ }
86
+
87
+ }
42
88
 
43
89
  ```
44
90
 
@@ -48,12 +94,16 @@
48
94
 
49
95
 
50
96
 
51
- ここ問題に対してしたことを記載してください
97
+ 壁と球でcanvasを別にしてもダメでした。
52
98
 
53
99
 
54
100
 
55
- ### 補足情報(FW/ツールのバージョンなど)
101
+ ###
56
102
 
57
103
 
58
104
 
105
+ 最近unityの勉強を始めたばかりで知識不足のため、
106
+
107
+ しょうもないことをお聞きしているかもしれませんが解決策に心当たりのある方が、
108
+
59
- ここにり詳細な情報を記載ださい。
109
+ いらっしゃいましたら回答のほどしくお願いたします