为什么我在 Unity 中收到此错误?“'调试'不包含'日志'的定义”

Why am I get ting this error in Unity? "'Debug' does not contain a definition for 'Log'"

提问人:Stelbert Stylton 提问时间:4/15/2023 更新时间:4/15/2023 访问量:142

问:

我正在开发我的 Unity 游戏,我尝试使用“Debug.Log”来记录玩家与之碰撞的对象的名称,但当我尝试时,它说调试不包含日志的定义。我将我的代码与确实有效的代码进行了比较,它们看起来几乎相同。我不知道如何解决这个问题。

这是我使用的代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Debug : MonoBehaviour
{


    void OnCollisionEnter (Collision collisionInfo) 
    {
        Debug.Log(collisionInfo.collider.name);
    }
}

关于为什么这不起作用的任何想法?

C# unity-game-engine 语法错误

评论


答:

1赞 LJH 4/15/2023 #1

因为您的类与 UnityEngine.Debug 同名,并且您的类不包含 Log 方法。由于您在名为 Debug 的类中工作,因此它尝试通过 Unity 的 Debug.Log 使用该类

尝试将类名更改为 Debug 以外的名称。

public class TestClass : MonoBehaviour // CHANGED CLASS NAME

如果确实要将类名保留为 Debug,请更改此行

Debug.Log(collisionInfo.collider.name);

对此

UnityEngine.Debug.Log(collisionInfo.collider.name);

希望这会有所帮助