summaryrefslogtreecommitdiff
path: root/doc/classes/AnimatedSprite3D.xml
blob: 09baf882fbea9184c0e889fa7af0690b03eeae66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimatedSprite3D" inherits="SpriteBase3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		2D sprite node in 3D world, that can use multiple 2D textures for animation.
	</brief_description>
	<description>
		[AnimatedSprite3D] is similar to the [Sprite3D] node, except it carries multiple textures as animation [member 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.
		After setting up [member frames], [method play] may be called. It's also possible to select an [member animation] and toggle [member playing], even within the editor.
		To pause the current animation, call [method stop] or set [member playing] to [code]false[/code]. Alternatively, setting [member speed_scale] to [code]0[/code] also preserves the current frame's elapsed time.
	</description>
	<tutorials>
		<link title="2D Sprite animation (also applies to 3D)">$DOCS_URL/tutorials/2d/2d_sprite_animation.html</link>
	</tutorials>
	<methods>
		<method name="play">
			<return type="void" />
			<param index="0" name="anim" type="StringName" default="&amp;&quot;&quot;" />
			<param index="1" name="backwards" type="bool" default="false" />
			<description>
				Plays the animation named [param anim]. If no [param anim] is provided, the current animation is played. If [param backwards] is [code]true[/code], the animation is played in reverse.
			</description>
		</method>
		<method name="stop">
			<return type="void" />
			<description>
				Stops the current [member animation] at the current [member frame].
				[b]Note:[/b] This method resets the current frame's elapsed time. If this behavior is undesired, consider setting [member speed_scale] to [code]0[/code], instead.
			</description>
		</method>
	</methods>
	<members>
		<member name="animation" type="StringName" setter="set_animation" getter="get_animation" default="&amp;&quot;default&quot;">
			The current animation from the [code]frames[/code] resource. If this value changes, the [code]frame[/code] counter is reset.
		</member>
		<member name="frame" type="int" setter="set_frame" getter="get_frame" default="0">
			The displayed animation frame's index.
		</member>
		<member name="frames" type="SpriteFrames" setter="set_sprite_frames" getter="get_sprite_frames">
			The [SpriteFrames] resource containing the animation(s).
		</member>
		<member name="playing" type="bool" setter="set_playing" getter="is_playing" default="false">
			If [code]true[/code], the [member animation] is currently playing. Setting this property to [code]false[/code] is the equivalent of calling [method stop].
		</member>
		<member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0">
			The animation speed is multiplied by this value. If set to a negative value, the animation is played in reverse. If set to [code]0[/code], the animation is paused, preserving the current frame's elapsed time.
		</member>
	</members>
	<signals>
		<signal name="animation_finished">
			<description>
				Emitted when the animation is finished (when it plays the last frame). If the animation is looping, this signal is emitted every time the last frame is drawn.
			</description>
		</signal>
		<signal name="frame_changed">
			<description>
				Emitted when [member frame] changed.
			</description>
		</signal>
	</signals>
</class>