Help requested: Screenshot taken but disabled buttons still visible
Help requested: Screenshot taken but disabled buttons still visible
Hi everyone, I was hoping someone could help me with the following. I have a button that saves a screenshot PNG to the Downloads folder when you press it.
What I want is for the button to disappear after it is pressed, so the screenshot does not include the two menu buttons called "%SaveReport" and "%BackMainMenu".
The code for the save button is listed below:
`
func _on_SaveReport_pressed():
$"%SaveReport".visible = false $"%BackMainMenu".visible = false print("I've disabled the buttons") print("That means the screenshot SHOULD be button free") take_screenshot() $"%SaveReport".visible = true $"%BackMainMenu".visible = true
`
As you can see, it calls the take_screenshot() function which is listed above:
`
func take_screenshot(): image = get_viewport().get_texture().get_image()
if OS.get_name() == "Web" or OS.has_feature('JavaScript'): print("We're on the web") # We're on the web image.clear_mipmaps() var buffer = image.save_png_to_buffer() JavaScriptBridge.download_buffer(buffer, fileName) if OS.get_name() != "Web" or !OS.has_feature('JavaScript'): # We're not on the web print("We're not on the web") var docs = OS.get_environment("HOME") + "/Documents" var title = str(docs + "/results",global_ints.observed_person_name, global_ints.observation_minutes,".png") print(title) var _saveimage = image.save_png(title) if OS.get_name() != "OSX": print("We're not on MacOS") var _openfolder = OS.shell_open(docs) if OS.get_name() == "OSX": print("We're on MacOS") var _openfolder = OS.shell_open("file://" + docs)
`
The code works. The screenshot is taken and it's saved to the Downloads folder and MacOS/Windows/Linux open up the Downloads folder straight after.
For the life of me, I can't figure out why the Back & Screenshot buttons ( "%SaveReport" and "%BackMainMenu") that I turn invisible BEFORE I call take_screenshot() end up being in the screenshot. Every single time.
Anyone have any ideas?
Thank you!