AnimatedSprite2D
继承: Node2D
< CanvasItem
< Node
< Object
Sprite node that contains multiple textures as frames to play for animation.
描述
AnimatedSprite2D is similar to the Sprite2D
node, except it carries multiple textures as animation frames. Animations are created using a SpriteFrames
resource, which allows you to import image files (or a folder containing said files) to provide the animation frames for the sprite. The SpriteFrames
resource can be configured in the editor via the SpriteFrames bottom panel.
属性
StringName | animation |
String | autoplay |
bool | centered |
bool | flip_h |
bool | flip_v |
int | frame |
float | frame_progress |
Vector2 | offset |
float | speed_scale |
SpriteFrames | sprite_frames |
方法
float | get_playing_speed ( ) const1 |
bool | is_playing ( ) const1 |
void | pause ( ) |
void | play ( name: StringName = &"", custom_speed: float = 1.0, from_end: bool = false ) |
void | play_backwards ( name: StringName = &"" ) |
void | set_frame_and_progress ( frame: int , progress: float ) |
void | stop ( ) |
信号
animation_changed ( )
Emitted when animation
changes.
animation_finished ( )
Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback.
Note: This signal is not emitted if an animation is looping.
animation_looped ( )
Emitted when the animation loops.
frame_changed ( )
Emitted when frame
changes.
sprite_frames_changed ( )
Emitted when sprite_frames
changes.
属性说明
StringName
animation = &"default"
void
set_animation ( value:StringName
)StringName
get_animation ( )
The current animation from the sprite_frames
resource. If this value is changed, the frame
counter and the frame_progress
are reset.
String
autoplay = ""
The key of the animation to play when the scene loads.
bool
centered = true
If true
, texture will be centered.
Note: For games with a pixel art aesthetic, textures may appear deformed when centered. This is caused by their position being between pixels. To prevent this, set this property to false
, or consider enabling ProjectSettings.rendering/2d/snap/snap_2d_vertices_to_pixel
and ProjectSettings.rendering/2d/snap/snap_2d_transforms_to_pixel
.
bool
flip_h = false
If true
, texture is flipped horizontally.
bool
flip_v = false
If true
, texture is flipped vertically.
int
frame = 0
The displayed animation frame's index. Setting this property also resets frame_progress
. If this is not desired, use set_frame_and_progress
.
float
frame_progress = 0.0
The progress value between 0.0
and 1.0
until the current frame transitions to the next frame. If the animation is playing backwards, the value transitions from 1.0
to 0.0
.
Vector2
offset = Vector2(0, 0)
The texture's drawing offset.
float
speed_scale = 1.0
The speed scaling ratio. For example, if this value is 1
, then the animation plays at normal speed. If it's 0.5
, then it plays at half speed. If it's 2
, then it plays at double speed.
If set to a negative value, the animation is played in reverse. If set to 0
, the animation will not advance.
SpriteFrames
sprite_frames
void
set_sprite_frames ( value:SpriteFrames
)SpriteFrames
get_sprite_frames ( )
The SpriteFrames
resource containing the animation(s). Allows you the option to load, edit, clear, make unique and save the states of the SpriteFrames
resource.
方法说明
float
get_playing_speed ( ) const1
Returns the actual playing speed of current animation or 0
if not playing. This speed is the speed_scale
property multiplied by custom_speed
argument specified when calling the play
method.
Returns a negative value if the current animation is playing backwards.
Returns true
if an animation is currently playing (even if speed_scale
and/or custom_speed
are 0
).
void
pause ( )
Pauses the currently playing animation. The frame
and frame_progress
will be kept and calling play
or play_backwards
without arguments will resume the animation from the current playback position.
See also stop
.
void
play ( name: StringName
= &"", custom_speed: float
= 1.0, from_end: bool
= false )
Plays the animation with key name
. If custom_speed
is negative and from_end
is true
, the animation will play backwards (which is equivalent to calling play_backwards
).
If this method is called with that same animation name
, or with no name
parameter, the assigned animation will resume playing if it was paused.
void
play_backwards ( name: StringName
= &"" )
Plays the animation with key name
in reverse.
This method is a shorthand for play
with custom_speed = -1.0
and from_end = true
, so see its description for more information.
void
set_frame_and_progress ( frame: int
, progress: float
)
Sets frame
the frame_progress
to the given values. Unlike setting frame
, this method does not reset the frame_progress
to 0.0
implicitly.
Example: Change the animation while keeping the same frame
and frame_progress
.
var current_frame = animated_sprite.get_frame()
var current_progress = animated_sprite.get_frame_progress()
animated_sprite.play("walk_another_skin")
animated_sprite.set_frame_and_progress(current_frame, current_progress)
void
stop ( )
Stops the currently playing animation. The animation position is reset to 0
and the custom_speed
is reset to 1.0
. See also pause
.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。