Skip Navigation

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!

You're viewing a single thread.

6 comments
6 comments