我是第一次学习 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);
}
然后射击开始,但从未发生碰撞。 :(
有人可以帮助我吗?
您可以使用
Debug.Log(other);
中的OnTriggerEnter2D()
来查看是谁触发了碰撞。如果您不希望它触发,但又不可避免地进入触发器,请将 Destroy(gameObject);
放入 if(collider != <something>){}