

Unity3カ月の初心者です。  
2DのRPG風クイズを作っています。  
メインのフィールド上にキャラクターが複数人散らばって立っていて、  
playerが相手（キャラクター）に当たったらその都度クイズシーンに変わり、クイズを解いて、ボタンを押すとメインのフィールドに戻ってくる。それを繰り返すゲームです。

メインに戻った時のplayerの位置や増殖？等はシングルトンなどなんとかできたのでが、メインのシーンに戻った時、playerと相手（キャラクター）の当たり判定が再び機能し、すぐ、ゲームシーンへ遷移してしまいます。

キャラィターのOnCollisionEnter2Dをstay,Exit,に変えたり、  
別途GetComponent().enabled =
false;でシーン変換時にコライダを破棄させたり、その他Webで検索したことはいろいろ試したのですが、一向に進めません。

プラグラムも全くの素人でWebと本のみで作り出しました。  
質問の文が分かりにくかったらごめんなさい。  
素人の稚拙な文また内容で申し訳ありませんが、  
どうぞよろしくお願い致します。


CC BY-SA 4.0
2020-03-10T07:38:39.677
63724
2020-03-11T04:49:36.410
2020-03-11T02:25:49.550
3060
38159
question
unity3d
遷移後メインシーンに戻った時、最初の当たり判定が反応してしまう


キャラクターが残っているために再び衝突してしまっているようですね。

再び衝突しないようにする処理は、最初の当たり判定の処理、つまりクイズシーンに移行する前に行ったほうがよいと思います。メインのシーンに戻る時ではタイミングによっては先に当たり判定が発生してしまう可能性があるためです。

再び衝突させない処理ですが、不要になったそのキャラクターの[ゲームオブジェクトそのものを削除する](https://docs.unity3d.com/ja/2018.4/Manual/CreateDestroyObjects.html)のはいかがでしょうか。削除で不都合がある場合はキャラクターを当たり判定が絶対に起きない場所に移動させるというのもありかと思います。


CC BY-SA 4.0
2020-03-10T17:25:07.517
63742
2020-03-11T04:49:36.410
2020-03-11T04:49:36.410
14817
14817
63724
answer