错误 CS0117(“调试”不包含“日志”的定义)

b i*_*c s 1 c# debugging unity-game-engine visual-studio-code

当一个游戏对象与另一个有碰撞的游戏对象发生碰撞时,我试图在控制台上显示。我一直在统一的控制台错误 CS0117 上收到此错误,“调试”不包含“日志”的定义。

  • 我在 mac 上使用 .net core
  • 我使用 vs 代码 1.35.1 和统一 2019.3.0a5
  • 我已经拥有了我需要的所有用途,但是智能感知没有为我的调试或任何东西找到定义,这令人沮丧:/
  • 我也没有任何其他名为 debug 的 .cs 文件

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine.SceneManagement;
    
    public class DeadZone : MonoBehaviour
    {
        private void OnCollisionEnter2D(Collision2D collision){
            Debug.log("Collision");
        }
    
        private void OnTriggerEnter2D(Collider2D collision){
            Debug.log("Trigger");
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

当我的球游戏对象接触墙壁游戏对象时,我希望统一控制台中出现“碰撞”消息,两者都带有碰撞器,但我只在控制台中收到该错误,我也已经尝试过使用 UnityEngine.Debug.log(); 但还没有取得任何成功... :(

Rem*_*_rm 5

您正在使用Debug.log(). 但你应该使用Debug.Log(). 注意“Log”上大写的“L”。

根据 C# 的命名约定,方法名称将始终以大写字母开头。

如果您查看Debug.LogUnity Docs,您还会在代码示例/标题中看到它使用大写 L

另外从你的标签来看你正在使用 Visual Studio。确保智能感知已打开,因为这应该会检测到,并且在大多数情况下甚至会自动为您修复这些类型的拼写错误。