mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			105 lines
		
	
	
	
		
			6.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
	
		
			6.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8" ?>
 | |
| <class name="AnimationNodeOneShot" inherits="AnimationNodeSync" version="4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
 | |
| 	<brief_description>
 | |
| 		Plays an animation once in an [AnimationNodeBlendTree].
 | |
| 	</brief_description>
 | |
| 	<description>
 | |
| 		A resource to add to an [AnimationNodeBlendTree]. This animation node will execute a sub-animation and return once it finishes. Blend times for fading in and out can be customized, as well as filters.
 | |
| 		After setting the request and changing the animation playback, the one-shot node automatically clears the request on the next process frame by setting its [code]request[/code] value to [constant ONE_SHOT_REQUEST_NONE].
 | |
| 		[codeblocks]
 | |
| 		[gdscript]
 | |
| 		# Play child animation connected to "shot" port.
 | |
| 		animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
 | |
| 		# Alternative syntax (same result as above).
 | |
| 		animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE
 | |
| 
 | |
| 		# Abort child animation connected to "shot" port.
 | |
| 		animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT)
 | |
| 		# Alternative syntax (same result as above).
 | |
| 		animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT
 | |
| 
 | |
| 		# Abort child animation with fading out connected to "shot" port.
 | |
| 		animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT)
 | |
| 		# Alternative syntax (same result as above).
 | |
| 		animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT
 | |
| 
 | |
| 		# Get current state (read-only).
 | |
| 		animation_tree.get("parameters/OneShot/active")
 | |
| 		# Alternative syntax (same result as above).
 | |
| 		animation_tree["parameters/OneShot/active"]
 | |
| 
 | |
| 		# Get current internal state (read-only).
 | |
| 		animation_tree.get("parameters/OneShot/internal_active")
 | |
| 		# Alternative syntax (same result as above).
 | |
| 		animation_tree["parameters/OneShot/internal_active"]
 | |
| 		[/gdscript]
 | |
| 		[csharp]
 | |
| 		// Play child animation connected to "shot" port.
 | |
| 		animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.Fire);
 | |
| 
 | |
| 		// Abort child animation connected to "shot" port.
 | |
| 		animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.Abort);
 | |
| 
 | |
| 		// Abort child animation with fading out connected to "shot" port.
 | |
| 		animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.FadeOut);
 | |
| 
 | |
| 		// Get current state (read-only).
 | |
| 		animationTree.Get("parameters/OneShot/active");
 | |
| 
 | |
| 		// Get current internal state (read-only).
 | |
| 		animationTree.Get("parameters/OneShot/internal_active");
 | |
| 		[/csharp]
 | |
| 		[/codeblocks]
 | |
| 	</description>
 | |
| 	<tutorials>
 | |
| 		<link title="Using AnimationTree">$DOCS_URL/tutorials/animation/animation_tree.html</link>
 | |
| 		<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
 | |
| 	</tutorials>
 | |
| 	<members>
 | |
| 		<member name="autorestart" type="bool" setter="set_autorestart" getter="has_autorestart" default="false">
 | |
| 			If [code]true[/code], the sub-animation will restart automatically after finishing.
 | |
| 			In other words, to start auto restarting, the animation must be played once with the [constant ONE_SHOT_REQUEST_FIRE] request. The [constant ONE_SHOT_REQUEST_ABORT] request stops the auto restarting, but it does not disable the [member autorestart] itself. So, the [constant ONE_SHOT_REQUEST_FIRE] request will start auto restarting again.
 | |
| 		</member>
 | |
| 		<member name="autorestart_delay" type="float" setter="set_autorestart_delay" getter="get_autorestart_delay" default="1.0">
 | |
| 			The delay after which the automatic restart is triggered, in seconds.
 | |
| 		</member>
 | |
| 		<member name="autorestart_random_delay" type="float" setter="set_autorestart_random_delay" getter="get_autorestart_random_delay" default="0.0">
 | |
| 			If [member autorestart] is [code]true[/code], a random additional delay (in seconds) between 0 and this value will be added to [member autorestart_delay].
 | |
| 		</member>
 | |
| 		<member name="fadein_curve" type="Curve" setter="set_fadein_curve" getter="get_fadein_curve">
 | |
| 			Determines how cross-fading between animations is eased. If empty, the transition will be linear.
 | |
| 		</member>
 | |
| 		<member name="fadein_time" type="float" setter="set_fadein_time" getter="get_fadein_time" default="0.0">
 | |
| 			The fade-in duration. For example, setting this to [code]1.0[/code] for a 5 second length animation will produce a cross-fade that starts at 0 second and ends at 1 second during the animation.
 | |
| 		</member>
 | |
| 		<member name="fadeout_curve" type="Curve" setter="set_fadeout_curve" getter="get_fadeout_curve">
 | |
| 			Determines how cross-fading between animations is eased. If empty, the transition will be linear.
 | |
| 		</member>
 | |
| 		<member name="fadeout_time" type="float" setter="set_fadeout_time" getter="get_fadeout_time" default="0.0">
 | |
| 			The fade-out duration. For example, setting this to [code]1.0[/code] for a 5 second length animation will produce a cross-fade that starts at 4 second and ends at 5 second during the animation.
 | |
| 		</member>
 | |
| 		<member name="mix_mode" type="int" setter="set_mix_mode" getter="get_mix_mode" enum="AnimationNodeOneShot.MixMode" default="0">
 | |
| 			The blend type.
 | |
| 		</member>
 | |
| 	</members>
 | |
| 	<constants>
 | |
| 		<constant name="ONE_SHOT_REQUEST_NONE" value="0" enum="OneShotRequest">
 | |
| 			The default state of the request. Nothing is done.
 | |
| 		</constant>
 | |
| 		<constant name="ONE_SHOT_REQUEST_FIRE" value="1" enum="OneShotRequest">
 | |
| 			The request to play the animation connected to "shot" port.
 | |
| 		</constant>
 | |
| 		<constant name="ONE_SHOT_REQUEST_ABORT" value="2" enum="OneShotRequest">
 | |
| 			The request to stop the animation connected to "shot" port.
 | |
| 		</constant>
 | |
| 		<constant name="ONE_SHOT_REQUEST_FADE_OUT" value="3" enum="OneShotRequest">
 | |
| 			The request to fade out the animation connected to "shot" port.
 | |
| 		</constant>
 | |
| 		<constant name="MIX_MODE_BLEND" value="0" enum="MixMode">
 | |
| 			Blends two animations. See also [AnimationNodeBlend2].
 | |
| 		</constant>
 | |
| 		<constant name="MIX_MODE_ADD" value="1" enum="MixMode">
 | |
| 			Blends two animations additively. See also [AnimationNodeAdd2].
 | |
| 		</constant>
 | |
| 	</constants>
 | |
| </class>
 | 
