level 11
这一贴也是求助,也是讨论。
我想获取多个按钮中被点击的那一个------这个已实现,现在我在思考怎么更优化这个实现。
2021年01月27日 03点01分
1
level 11
我知道给节点建一个gdscript,那么在 gdscript 中写下 self 就等于获取了“节点本身”。
现在看假设下面这样的节点关系:
Main
----|__node0
-----------|__Label0
-----------|__OtherButton
-----------|__Button00
-----------|__Button01
-----------|__Button02
-----------|__Button03
----|__node1
-----------|__Label1
-----------|__OtherButton
-----------|__Button10
-----------|__Button11
-----------|__Button12
-----------|__Button13
-----------|__Button14
2021年01月27日 04点01分
2
level 11
还有更多带Button子节点的节点,就不一一列出。
我希望按下名字中带 Button 前缀按钮中的一个,就能返回它的路径,让其它方法来调用这个被按下的对象。
目前是用的把这些按钮设为同一个 ButtonGroup 的方案,每次调用时就 get_pressed_button() 一下。
这里有个我不了解的机制:Godot 在 get_pressed_button() 时,是去遍历这个 ButtonGroup、看看哪个被按下了? 还是按钮被按下时,就保存下指向它的指针,不需要遍历啦?
2021年01月27日 04点01分
3
level 11
假设有非常多的同类对象,我不想每一个都配一个 gdscript 来调用 self(这个方案弃用)
又:每次 get_pressed_button() 时都去遍历一个超多对象的 ButtonGroup 感觉需要优化
我想 Godot 在接收到点击了哪个对象时,内部应该就是知道这个对象在节点树的位置,有没有办法不用 设置ButtonGroup 的方案、也不一个按钮一个按钮地去写 gdscript(也包括写一个按钮然后克隆出多个按钮)这种方案,
【还有没有类似使用 self 这样更简捷的方式就获取到被点击的对象呢?】
2021年01月27日 04点01分
4