質問編集履歴

3

シーンについて補足

2017/12/18 13:56

投稿

toricotori
toricotori

スコア14

test CHANGED
File without changes
test CHANGED
@@ -311,3 +311,13 @@
311
311
  }
312
312
 
313
313
  ```
314
+
315
+
316
+
317
+ <<12/18追記>>
318
+
319
+ 下二つのスクリプト、keyWorkとCharaColWorkは他シーンでも使用しており、そのシーンでは
320
+
321
+ 特に問題はありません。
322
+
323
+ 上二つのappeearWorkとtrapTriggerを適用させているシーンのみ問題が発生しています。

2

charaColWorkの不足分を補足

2017/12/18 13:56

投稿

toricotori
toricotori

スコア14

test CHANGED
File without changes
test CHANGED
@@ -264,6 +264,20 @@
264
264
 
265
265
  public int count = 3;
266
266
 
267
+   public GameObject trigger; //鍵を集めきったら現れるトリガー
268
+
269
+
270
+
271
+ void Start()
272
+
273
+ {
274
+
275
+ trigger.SetActive(false);
276
+
277
+ }
278
+
279
+
280
+
267
281
 
268
282
 
269
283
  void OnCollisionEnter(Collision col)
@@ -284,6 +298,14 @@
284
298
 
285
299
  }
286
300
 
301
+       if(count == 0)
302
+
303
+       {
304
+
305
+       trigger.SetActive(true);
306
+
307
+       }
308
+
287
309
  }
288
310
 
289
311
  }

1

スクリプトの追加と補足

2017/12/18 13:51

投稿

toricotori
toricotori

スコア14

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,10 @@
6
6
 
7
7
  鍵は最初は消えていて、あるトリガー内に入ると現れるようになっていますが、そのためのスクリプトに何か問題があるようです。
8
8
 
9
+
10
+
11
+ 鍵の出現スクリプト
12
+
9
13
  ```C#
10
14
 
11
15
  public class appearWork : MonoBehaviour
@@ -62,7 +66,75 @@
62
66
 
63
67
  ```
64
68
 
69
+ トリガーのスクリプト(12/18追記)
70
+
71
+ ```C#
72
+
73
+ using System.Collections;
74
+
75
+ using System.Collections.Generic;
76
+
77
+ using UnityEngine;
78
+
79
+
80
+
81
+ public class trapTrigger : MonoBehaviour {
82
+
83
+
84
+
85
+ public static bool trapFlag;
86
+
87
+
88
+
89
+ void Start ()
90
+
91
+ {
92
+
93
+ trapFlag = false;
94
+
95
+ }
96
+
97
+
98
+
99
+ void OnTriggerEnter(Collider col)
100
+
101
+ {
102
+
103
+ if (col.gameObject.tag == "chara")
104
+
105
+ {
106
+
107
+ trapFlag = true;
108
+
109
+ }
110
+
111
+ }
112
+
113
+ }
114
+
115
+
116
+
117
+ ```
118
+
119
+ colがかかわる部分
120
+
121
+ ```
122
+
123
+ if (col != null)
124
+
125
+ col.enabled = false;
126
+
127
+ ```
128
+
129
+ ```
130
+
131
+ if (col != null)
132
+
133
+ col.enabled = true;
134
+
135
+ ```
136
+
65
- colがかかわる部分をコメントアウトすると正常にカウントが減っていくので、書き方に問題があると思われますが、
137
+ をコメントアウトすると正常にカウントが減っていくので、colの部分の書き方に問題があると思われますが、
66
138
 
67
139
  解決方法が思い当たらず困っています。ご教授いただけますと幸いです。
68
140
 
@@ -177,3 +249,43 @@
177
249
  ```
178
250
 
179
251
  OnCollisionEnter内にDebug.Logでカウント数を表示するようにしたところ、最初のカウントが3の場合、210000000000...と表示されました。
252
+
253
+
254
+
255
+ <<12/18追記>>
256
+
257
+ カウント数に関するスクリプトです。
258
+
259
+ ```C#
260
+
261
+ public class charaColWork : MonoBehaviour
262
+
263
+ {
264
+
265
+ public int count = 3;
266
+
267
+
268
+
269
+ void OnCollisionEnter(Collision col)
270
+
271
+ {
272
+
273
+ //鍵に接触したとき
274
+
275
+ if (col.gameObject.tag == "key")
276
+
277
+ {
278
+
279
+ if (count > 0)
280
+
281
+ {
282
+
283
+ count--;
284
+
285
+ }
286
+
287
+ }
288
+
289
+ }
290
+
291
+ ```