Почему моя пуля уничтожается сразу, а не когда столкнется?C#

Место общения программистов C#
Anonymous
Почему моя пуля уничтожается сразу, а не когда столкнется?

Сообщение Anonymous »

Я впервые изучаю Unity, и у меня проблема с выстрелом...
Моя пуля уничтожает сразу, а не когда столкнется.Это мой код маркера:

Код: Выделить всё

public class BulletController : MonoBehaviour
{
public float bulletSpeed;
public Rigidbody2D theRB;
public Vector2 moveDir;

// Update is called once per frame
void Update()
{
theRB.velocity = moveDir * bulletSpeed;
}

private void OnTriggerEnter2D(Collider2D other)
{
Destroy(gameObject);

}

private void OnBecameInvisible()
{

Destroy(gameObject);
}

}
Изображение

Изображение

Когда я играю в свою игру , выстрел немедленно прекратится.
Если я удалю эту функцию:

Код: Выделить всё

  private void OnTriggerEnter2D(Collider2D other)
{
Destroy(gameObject);

}
затем начинается выстрел, но он никогда не сталкивается. :(
Кто-нибудь может мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/781 ... l-collider

Вернуться в «C#»