AnimatedTexture
Proxy texture for simple frame-based animations.
AnimatedTexture.swift:22class AnimatedTexture
AnimatedTexture
is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike AnimationPlayer
or AnimatedSprite2D
, it isn’t a Node
, but has the advantage of being usable anywhere a Texture2D
resource can be used, e.g. in a TileSet
.
The playback of the animation is controlled by the speedScale
property, as well as each frame’s duration (see setFrameDuration(frame:duration:)
). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
AnimatedTexture
currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
Deprecated. This class is deprecated, and might be removed in a future release.
Superclasses
class Texture2D
Texture for 2D and 3D.
Citizens in SwiftGodot
Conformances
protocol CustomStringConvertible
A type with a customized textual representation.
protocol Equatable
A type that can be compared for value equality.
protocol Hashable
A type that can be hashed into a
Hasher
to produce an integer hash value.protocol Identifiable<ID>
A class of types whose instances hold the value of an entity with stable identity.
protocol VariantRepresentable
Types that conform to VariantRepresentable can be stored directly in
Variant
with no conversion. These include all of the Variant types from Godot (for exampleGString
,Rect
,Plane
), Godot objects (those that subclass SwiftGodot.Object) as well as the built-in Swift types UInt8, Int64 and Double.protocol VariantStorable
Types that conform to VariantStorable can be stored in a Variant and can be extracted back out of a Variant.
Type members
static let maxFrames: Int
The maximum number of frames supported by
AnimatedTexture
. If you need more frames in your animation, useAnimationPlayer
orAnimatedSprite2D
.class var godotClassName: StringName
Instance members
var currentFrame: Int32
Sets the currently visible frame of the texture. Setting this frame while playing resets the current frame time, so the newly selected frame plays for its whole configured frame duration.
var frames: Int32
Number of frames to use in the animation. While you can create the frames independently with
setFrameTexture(frame:texture:)
, you need to set this value for the animation to take new frames into account. The maximum number of frames ismaxFrames
.var oneShot: Bool
If
true
, the animation will only play once and will not loop back to the first frame after reaching the end. Note that reaching the end will not setpause
totrue
.var pause: Bool
If
true
, the animation will pause where it currently is (i.e. atcurrentFrame
). The animation will continue from where it was paused when changing this property tofalse
.var speedScale: Double
The animation speed is multiplied by this value. If set to a negative value, the animation is played in reverse.
func getFrameDuration(frame: Int32
) -> Double Returns the given
frame
’s duration, in seconds.func getFrameTexture(frame: Int32
) -> Texture2D? Returns the given frame’s
Texture2D
.func setFrameDuration(frame: Int32, duration: Double
) Sets the duration of any given
frame
. The final duration is affected by thespeedScale
. If set to0
, the frame is skipped during playback.func setFrameTexture(frame: Int32, texture: Texture2D?
) Assigns a
Texture2D
to the given frame. Frame IDs start at 0, so the first frame has ID 0, and the last frame of the animation has IDframes
- 1.