Операционная система или устройство - версия Godot: Linux, Godot 3.0 (master)
Описание проблемы:
Получение снимка экрана из любого окна просмотра приводит к пустым данным.
Действия по воспроизведению:
get_viewport().queue_screen_capture()
yield(get_tree(),"idle_frame")
yield(get_tree(),"idle_frame")
var i = get_viewport().get_screen_capture()
i.save_png("user://cap.png")
Теперь queue_screen_capture () и get_screen_capture () даже не существуют.
Не пробовал использовать gdscript, но у вас должна быть возможность вызвать viewport.get_texture (). Get_data (), чтобы получить ссылку на изображение, которое вы можете сохранить. Также вызовы image.lock () и image.unlock () должны позволить вам получить (и, возможно, установить?) Пиксели.
Вот как это работает для палитры цветов при выборе цвета на экране:
https://github.com/godotengine/godot/blob/master/scene/gui/color_picker.cpp#L428
@MarianoGnu, вы правы, проблема только в том, что ViewportTexture :: get_data () не привязан к GDScript, но это должно быть легко решить.
Самый полезный комментарий
@MarianoGnu, вы правы, проблема только в том, что ViewportTexture :: get_data () не привязан к GDScript, но это должно быть легко решить.