unity3d 为什么我在Unity中得到这个错误?“'Debug' does not contain a definition for 'Log'”

6ovsh4lw  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(705)

我正在开发我的Unity游戏,我试图使用“Debug.Log”来记录播放器冲突的对象的名称,但当我尝试时,它说debug不包含log的定义。我将我的代码与可以工作的代码进行了比较,它们看起来几乎相同。我不知道如何解决这个问题。
下面是我使用的代码

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

public class Debug : MonoBehaviour
{

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

你知道为什么这行不通吗?

hgtggwj0

hgtggwj01#

因为您的类与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);

希望这对你有帮助

相关问题