我是一个初学者,我想知道如何让玩家在碰到障碍物时停止运动。 我尝试了这段代码,但表明它已被弃用
public class Collision : MonoBehaviour
{
public PlayerMove move;
void onCollisionEnter (Collision info)
{
if (info.Collider.tag == "Obstacle")
{
move.enabled = false;
}
}
}
答案 0 :(得分:1)
您将班级命名为act_lr
。 OnCollisionEnter方法中的参数Collision
不使用info
,而是您自己的UnityEngine.Collision
类。
将您的班级名称Collision
更改为其他名称:
Collision
碰撞 public class
: MonoBehaviour
答案 1 :(得分:1)
请注意Unity中的方法,它们以大写字母开头。
OnCollisionEnter
应该以大写开头,以便Unity可以识别为每次碰撞调用一次的方法。
就像scopolamin
所说的那样,不要调用班级Collision
:最好将它以及文件,您的班级名称和文件名必须匹配才能从MonoBehaviour继承。
我假设PlayerMove
是用作字符控制器的脚本。确保变量move
附加了正确的脚本。