Unity中C#脚本按下空格键后无法在控制台打印输出怎么解决?
Unity脚本无输出问题排查方案
1 首要修复语法错误
你代码中if判断末尾多了多余的英文分号,会导致逻辑完全失效:
// 错误写法:if后多了分号,逻辑直接终止 if (Input.GetKeyDown(KeyCode.Space)) ; { Debug.Log("hi."); }
删掉分号即可完成逻辑修复,修正后的代码如下:
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { Debug.Log("hi."); } }
补充说明:多余分号会被C#识别为if语句的全部执行体,后续大括号内的代码和if判断完全无关,会每帧无条件执行。如果修复前也从未见过控制台有
hi.输出,说明同时存在以下配置问题。
2 配置类问题排查
如果修正语法后还是没有输出,逐一检查以下项:
- 确认
Player.cs脚本已经挂载到场景内处于激活状态的GameObject上,未挂载的脚本不会被Unity触发生命周期函数 - 打开Unity控制台(Console)窗口,确认顶部的普通日志(Log)过滤开关处于开启状态,没有被误屏蔽
- 确认测试时已经点击运行按钮进入Play模式,编辑模式下脚本逻辑不会执行
内容的提问来源于stack exchange,提问作者DaBean
相关产品推荐
相关产品推荐

