回答編集履歴

1

7/15 09:41のコメントを受けて追記

2016/07/15 01:43

投稿

sakura_hana
sakura_hana

スコア11427

test CHANGED
@@ -1,3 +1,133 @@
1
+ (7/15 09:41のコメントを受けて追記)
2
+
3
+ なるほど、消すのはオレンジ色のブロックだったんですね。
4
+
5
+ それであれば、下記のように変更すればよいかと思います。
6
+
7
+
8
+
9
+ Destroyクラス(02〜06も同様)
10
+
11
+ ```C#
12
+
13
+ using UnityEngine;
14
+
15
+ using System.Collections;
16
+
17
+
18
+
19
+ public class Destroy01 : MonoBehaviour
20
+
21
+ {
22
+
23
+ //public static bool Hit01; //ヒットフラグ
24
+
25
+ public bool Hit01;
26
+
27
+
28
+
29
+ //当たった相手オブジェクト
30
+
31
+ public GameObject hitObj;
32
+
33
+
34
+
35
+ // Use this for initialization
36
+
37
+ void Start()
38
+
39
+ {
40
+
41
+ Hit01 = false;
42
+
43
+ }
44
+
45
+
46
+
47
+ // Update is called once per frame
48
+
49
+ void Update()
50
+
51
+ {
52
+
53
+ }
54
+
55
+ //ブロックと接触時に呼ばれる
56
+
57
+ void OnTriggerEnter2D(Collider2D other)
58
+
59
+ {
60
+
61
+ Hit01 = true;
62
+
63
+ hitObj = other.gameObject;
64
+
65
+ }
66
+
67
+ //ブロックが離れる際に呼ばれる
68
+
69
+ void OnTriggerExit2D(Collider2D other)
70
+
71
+ {
72
+
73
+ Hit01 = false;
74
+
75
+ hitObj = null;
76
+
77
+ }
78
+
79
+ }
80
+
81
+ ```
82
+
83
+
84
+
85
+ Deleteクラス(if(ALL_OK == true && Count>0)の部分を差し替え)
86
+
87
+ ```C#
88
+
89
+ if(ALL_OK == true) {
90
+
91
+ //ここで一番下に作った当たり判定に接触している
92
+
93
+ //ブロックをすべて消す
94
+
95
+
96
+
97
+ if (d1.hitObj != null) { Destroy(d1.hitObj); }
98
+
99
+ if (d2.hitObj != null) { Destroy(d2.hitObj); }
100
+
101
+ if (d3.hitObj != null) { Destroy(d3.hitObj); }
102
+
103
+ if (d4.hitObj != null) { Destroy(d4.hitObj); }
104
+
105
+ if (d5.hitObj != null) { Destroy(d5.hitObj); }
106
+
107
+ if (d6.hitObj != null) { Destroy(d6.hitObj); }
108
+
109
+
110
+
111
+ d1.Hit01 = false;
112
+
113
+ d2.Hit01 = false;
114
+
115
+ d3.Hit01 = false;
116
+
117
+ d4.Hit01 = false;
118
+
119
+ d5.Hit01 = false;
120
+
121
+ d6.Hit01 = false;
122
+
123
+ }
124
+
125
+ ```
126
+
127
+ ---
128
+
129
+ (初期投稿分)
130
+
1
131
  まず、UpdateではなくFixedUpdateを使いましょう。
2
132
 
3
133
  Updateが「1フレームに1回(フレームレートによって逐次変動)」呼ばれるのに対し、FixedUpdateは「一定周期(物理演算と同周期)」で呼ばれます。