- Edited
dlccmind So, the render order seems to get updated, but the capture of events doesn't seem to get updated.
Are you sure about that? It'd be useful to post some code that demonstrates this.
The order of siblings definitely affects the order of _input()
invocation and signal callbacks. The sibling with the highest index will be called first because it's visually "on top". So if you want a sibling to be processes first, you should move it to the end of the array using move_child(child,-1)
In the case of event processing with _input(), note that whichever order you use all of the overlapping objects will still receive the event. If you want to stop it from propagating, you should use _unhadnled_input
instead of input()
and call _set_input_as_handled()
to consume the event.