问题描述
该代码应该在玩家撞到障碍物时停止移动。而是当它撞到地面时停止运动,这是不应该的。有人知道为什么会这样吗?这是代码:
using UnityEngine;
public class PlayerCollider : MonoBehavIoUr{
public PlayerMovement movement;
void OnCollisionEnter(UnityEngine.Collision collisionInfo)
{
if(collisionInfo.collider.tag == "Obstacle");
{
movement.enabled = false;
}
}
}
解决方法
if语句后不应使用分号。现在,您的代码在声明后立即停止if语句,因此在发生任何冲突时都将禁用移动。删除分号,只要PlayerMovement中的代码正确,它就可以正常工作。