Я предполагаю, что столкновение произошло с игроком.
Проблема в том, что GameObject.Find ("ThePlayer") ищет в иерархии любой игровой объект с именем точно . Возможно, в названии есть пробел. Не рекомендуется использовать этот метод, потому что он может вызвать проблемы такого рода.
Итак, вместо:
GameObject thePlayer = GameObject.Find("ThePlayer");
Pew pew = thePlayer.GetComponent<Pew>();
Будьте лучше, как:
GameObject thePlayer = collision.gameObject;
Pew pew = thePlayer.GetComponent<Pew>();
Проблема с этим новым кодом состоит в том, что мы предполагаем, что столкновение происходит с игроком, но что если враг?
Хорошее решение - использовать Теги , а теперь:
if(collision.gameObject.CompareTag("Player")
{
GameObject thePlayer = collision.gameObject;
Pew pew = thePlayer.GetComponent<Pew>();
}