操作系统或设备 - Godot 版本:
Godot 2.1/HEAD,但似乎master也受到了一些影响
问题描述:
在为(非 FOSS)游戏编码一些东西时,我在分配给某些控件的CanvasItem
继承脚本上将我的一个方法命名为has_point
。 我把它变成了return true
,因为它会被其他脚本覆盖......然后,突然间,所有带有该脚本的控件开始抓取所有点击 :laughing:
我决定搜索文档,因为我怀疑可能发生了这样的事情,但是Control::has_point
没有列出,因为它根本没有绑定。
请注意, has_point
上执行scene/gui/control.cpp:572-588
调用脚本方法。
重现步骤:
extends Control
func has_point(point):
return true
链接到最小的示例项目:这里有点匆忙,所以,以后可能会根据要求。
怎么修:
scene/gui/control.cpp:2516
BIND_VMETHOD
宏,如下所示: scene/main/node.cpp:2923
BIND_VMETHOD(MethodInfo("_process", PropertyInfo(Variant::REAL, "delta")));
Control::has_point(Vector2 point)
我想尝试将此作为我的第一个贡献。
还要删除常规的 bind_method
吗?(又名#7960)
虽然不确定
编辑:我应该学会阅读。 呃。
由 #8023 修复。
最有用的评论
我想尝试将此作为我的第一个贡献。