При необходимости мы можем сохранять в память или в файл содержимое нашего экрана целиком. Либо, при желании, какого то отдельного вьюпорта.
В нашем примере создадим эффект «ослепления». При нажатии будет появляться снимок экрана, и медленно угасать.
По умолчанию, в сцене у нас фон и частицы.
Для запоминания экрана нам надо добавить в сцену пустой Sprite.
В данном примере режим наложения установлен в Add.
Для получения характерного засвета.
Подключаем на него скрипт.
В скрипте ловим нажатие клавиши и прописываем код:
1) Запоминаем в переменную screen содержимое экрана из глобального вьюпорта через get_viewport()
2) cоздаем ресурс ImageTexture
3) Помещаем содержимое screen в эту текстуру.
Ну и далее нам надо не забыть перевернуть изображение по вертикали и указать эту текстуру как источник для спрайта.
Для анимации угасания я прописал простенький код который вычитает из переменной некое значение , и подал его в прозрачность спрайта.
В случае, когда вам необходимо сделать снимок с конкретного вьюпорта, то в пути просто замените get_viewport() на необходимый вам вьюпорт.
Переложим частицы внутрь отдельного вьюпорта:
Надеюсь вам был полезен этот материал.
Подписывайтесь на канал, вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !
#godot #gdscript #программирование #игровой движок #уроки