Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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 будут частью анимации.