Unity按钮On Click()界面无法显示game_controller脚本函数求助
解决Unity按钮调用父对象脚本函数的问题
首先纠正你的误解:Unity里子对象不会自动继承父对象挂载的脚本组件,每个GameObject的组件都是独立的,按钮默认只会查找自身挂载的脚本,所以看不到父对象的
game_controller函数是正常现象。正确的绑定步骤:
- 选中目标按钮,打开Inspector面板里的
OnClick()事件列表。 - 点击列表中的"+"号添加一个事件项。
- 把挂载了
game_controller脚本的父UI对象,直接拖到事件项里显示None (Object)的槽位上。 - 点击事件项的下拉菜单,就能找到
game_controller脚本,展开后即可看到符合要求的函数,选择你需要绑定的即可。
- 选中目标按钮,打开Inspector面板里的
额外注意事项:
- 要绑定的函数必须是public修饰的,private或protected修饰的函数在编辑器中不会显示。
- 函数的参数需和按钮事件签名匹配:要么无参数,要么仅携带一个
UnityEngine.EventSystems.BaseEventData类型的参数,否则也不会出现在可选列表中。
内容的提问来源于stack exchange,提问作者Tick Magnet
相关产品推荐
相关产品推荐

