为什么我会在 Unity 中遇到这个错误? “‘调试’不包含‘日志’的定义”

问题描述 投票:0回答:1

我正在开发我的 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# unity3d syntax-error
1个回答
0
投票

因为你的类和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);

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.