查阅了一番都没有解决问题,最后发现问题是由button的Onclick()事件绑定了代码脚本而不是游戏对象导致的。
如果Onclick()事件绑定的是代码脚本,则下拉框里没有函数,但是点击MonoScript后能手动填入函数名(本以为这样就能实现调用函数)。
这种情况下运行游戏并不能调用函数。
而将Onclick()绑定了按钮对象后,下拉框内能找挂载在这个按钮上的代码脚本里的函数
并且运行游戏后能够正常调用函数
查阅了资料后,发现是C#面向对象的规则导致的,未实例化的对象是不能用来调用函数的。而绑定游戏对象,可将挂载了代码脚本的游戏对象理解为一个实例,通过游戏对象这个实例来访问这个实例里的方法。
参考:https://www.zhihu.com/question/448313640