AnimatedTexture
Устарело: This class does not work properly in current versions and may be removed in the future. There is currently no equivalent workaround.
Наследует: Texture2D < Texture < Resource < RefCounted < Object
Прокси-текстура для простых покадровых анимаций.
Описание
AnimatedTexture — это формат ресурса для покадровых анимаций, где несколько текстур могут быть автоматически сцеплены с предопределенной задержкой для каждого кадра. В отличие от AnimationPlayer или AnimatedSprite2D, не является Node, и имеет преимущество в том, что может быть использован везде, где может быть использован ресурс Texture2D, например в TileSet.
Воспроизведение анимации контролируется свойством speed_scale, а также опциональной задержкой каждого кадра (см. set_frame_duration()). Анимация зациклена, т.е. после проигрывания последнего кадра она автоматически перезапускается на 0 кадр.
В настоящее время AnimatedTexture требует, чтобы все текстуры кадров имели одинаковый размер, в противном случае более крупные будут обрезаны в соответствии с наименьшим кадром.
Примечание: AnimatedTexture не поддерживает AtlasTexture. Каждый кадр должен быть отдельным Texture2D.
Предупреждение: Текущая реализация для современных методов отрисовки неэффективна.
Свойства
|
||
|
||
|
||
resource_local_to_scene |
|
|
|
Методы
get_frame_duration(frame: int) const |
|
get_frame_texture(frame: int) const |
|
void |
set_frame_duration(frame: int, duration: float) |
void |
set_frame_texture(frame: int, texture: Texture2D) |
Константы
MAX_FRAMES = 256 🔗
Максимальное количество кадров, поддерживаемое AnimatedTexture. Если вам нужно больше кадров в анимации, используйте AnimationPlayer или AnimatedSprite2D.
Описания свойств
Устанавливает текущий видимый кадр текстуры. Установка этого кадра во время воспроизведения сбрасывает текущее время кадра, поэтому вновь выбранный кадр воспроизводится в течение всей настроенной длительности кадра.
Количество кадров, используемых в анимации. Хотя кадры можно создавать самостоятельно с помощью set_frame_texture(), необходимо установить это значение, чтобы анимация учитывала новые кадры. Максимальное количество кадров - MAX_FRAMES.
Если true, анимация будет воспроизводиться только один раз и не будет возвращаться к первому кадру после достижения конца. Обратите внимание, что достижение конца не установит pause в true.
Если true, анимация приостанавливается там, где она находится в данный момент (т.е. на current_frame). При изменении этого свойства на false анимация продолжится с того места, где она была приостановлена.
Скорость анимации умножается на это значение. Если задано отрицательное значение, анимация воспроизводится в обратном порядке.
Описания метода
float get_frame_duration(frame: int) const 🔗
Возвращает длительность указанного frame в секундах.
Texture2D get_frame_texture(frame: int) const 🔗
Возвращает Texture2D указанного кадра.
void set_frame_duration(frame: int, duration: float) 🔗
Устанавливает длительность любого заданного frame. Окончательная длительность зависит от speed_scale. Если установлено значение 0, кадр пропускается во время воспроизведения.
void set_frame_texture(frame: int, texture: Texture2D) 🔗
Назначает Texture2D данному кадру. Идентификаторы кадров начинаются с 0, поэтому первый кадр имеет идентификатор 0, а последний кадр анимации имеет идентификатор frames - 1.
Вы можете определить любое количество текстур вплоть до MAX_FRAMES, но имейте в виду, что только кадры от 0 до frames - 1 будут частью анимации.