await get_tree().idle_frame
Thank you for this! I just tried it out but unfortunately Godot throws an error on await get_tree().idle_frame
: Invalid get index 'idle_frame' (on base: 'SceneTree').
Could it be because I'm running in application mode, which only refreshes the screen if there's an update?
As an alternative, I've put the code to turn things off into its own function:
func turn_off():
$"%SaveReport".visible = false
$"%BackMainMenu".visible = false
I've then tried an await turn_off()
The code runs, but doesn't do anything and the screenshot still gets saved with the buttons visible.
I'm trying both await functions just before the take_screenshot() function like so:
await turn_off()
await get_tree().idle_frame
take_screenshot()
Am I missing something very obvious here? Any help would be much appreciated!
Managed to fix it by using
await get_tree().process_frame
instead. It seems thatidle_frame
appears to no longer exist in Godot 4.1?So my full code for triggering the screenshot function is:
For some reason, I have to await before I turn the interface elements off, and after I've turned them off. It now works a treat for my app. Thank you for your assistance!