Unity中给按钮预制体挂载脚本后无法显示公共函数的问题
解决Unity按钮OnClick事件无法显示公共函数的问题
问题排查与解决步骤
- 检查编译错误
打开Unity控制台(Window > General > Console),确认脚本无编译报错。一旦存在红色错误,Unity会无法识别脚本中的公共函数,需先修复所有错误再重新编译。 - 确认脚本挂载对象
检查按钮的OnClick事件面板,确保拖拽的对象确实挂载了DeleteQuizDetailRow脚本,没有误选其他对象。 - 验证函数格式
你的test函数是public void且无参数,符合Unity事件系统要求,但要确保:- 函数名拼写无大小写错误(Unity对大小写敏感)
- 函数未添加
static修饰符(静态函数无法在事件面板中显示)
- 重新挂载脚本
- 从按钮对象上移除
DeleteQuizDetailRow脚本 - 保存场景,等待Unity完成重新编译
- 重新将脚本挂载到按钮对象,再添加OnClick事件
- 从按钮对象上移除
- 重置编辑器
关闭Unity编辑器后重启项目,编辑器缓存异常也可能导致这类显示问题。
额外测试方案
如果以上步骤无效,可新建一个测试脚本,写一个简单的public void测试函数,挂载到按钮上验证是否能显示,以此排查是否为项目或编辑器的特殊问题。
内容的提问来源于stack exchange,提问作者LearnProgramming
相关产品推荐
相关产品推荐

