123456789101112131415161718192021222324252627 |
- extends Control
- func _ready():
- get_node("Button").connect("pressed", self, "_on_button_pressed");
- func _on_button_pressed():
- get_viewport().set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME)
- # Let two frames pass to make sure the screen was captured
- yield(get_tree(), "idle_frame")
- yield(get_tree(), "idle_frame")
- # Retrieve the captured image
- var img = get_viewport().get_texture().get_data()
-
- # Flip it on the y-axis (because it's flipped)
- img.flip_y()
- # Create a texture for it
- var tex = ImageTexture.new()
- tex.create_from_image(img)
- # Set it to the capture node
- get_node("capture").set_texture(tex)
|