private void OnCollisionEnter(Collision collision)
{
if(collision.gameObject.CompareTag ("bullet"))
{
UI.lives--;
}
if (collision.gameObject.tag == "life")
{
UI.livePart++;
}
}
我试过两种不同的方法使它工作,实际上都没有正确的功能。对于上面这个,当我的玩家对象第一次与带有"子弹"标签的游戏对象碰撞时,它应该会减少我的"寿命"。整数1
对于第二个,它应该增加另一个整数"livePart"当它第一次与带有"life"标签的gameObject碰撞时,
UI是存储变量"生命"one_answers"livePart".
要检查的一件事是文档中提到
注意:碰撞事件仅在其中一个碰撞器也附加了非运动学刚体时才发送。
如果你恰好有&;Is kinematic&;在RigidBody下的检查器中选中,那么你将不会得到碰撞事件。
另外,如果这是新信息,那么像这里所示的那样在脚本中附加一个调试器会很有帮助。例如,您可以在OnCollisionEnter
函数中设置一个断点,以验证它是否被调用。