警告CS0642,可能错误的空语句

问题描述

代码应该在玩家撞到障碍物时停止移动。而是当它撞到地面时停止运动,这是不应该的。有人知道为什么会这样吗?这是代码

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中的代码正确,它就可以正常工作。