プレハブから生成した敵がいるのですが、1回目しかダメージが通りません | Unity Forum | Tech Stadium Forum

プレハブから生成した敵がいるのですが、...
 
通知
すべてクリア

プレハブから生成した敵がいるのですが、1回目しかダメージが通りません  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1325
04/09/2020 1:42 pm  

プレハブから生成した敵がいるのですが、1回目しかダメージが通りません、、、
パラメーター的にも同じはずなのですが、何か考えられることありますか


引用
Teacher
(@admin)
メンバー Admin
結合: 4年前
投稿: 1296
04/09/2020 1:42 pm  

ColiderManagerの82行目のDebug.Log(!Player.GetComponent<ColiderManager>().judgeFirst);
を消したら通ります。

原因としては、23行目のPlayer = GameObject.Find("FlyingEye(Clone)");
が考えられます。
StartメソッドでFindしてエネミーを取得しているようですが
Findは最初に探した1個目のオブジェクトを取得するので、全員の敵が1体目の敵を取得してしまったのです。
なので、1体目の敵が倒されてしまったらここの部分でエラーが発生してしまい、その後の処理であるダメージ判定の処理が行われなかったということでした。解決法としては、23行目でFindを使わずにPlayer = this.gameObjectとして代入するのが良いと思います。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1325
04/09/2020 1:42 pm  

なるほど、名前が三体とも一緒なので
一番上にあるものを取得してしまうという認識で大丈夫でしょうか?


返信引用
Teacher
(@admin)
メンバー Admin
結合: 4年前
投稿: 1296
04/09/2020 1:42 pm  

その通りです!


返信引用
共有:
タイトルとURLをコピーしました