[][src]Struct gdnative::api::Animation

pub struct Animation { /* fields omitted */ }

core class Animation inherits Resource (reference counted).

Official documentation

See the documentation of this class in the Godot engine's official documentation.

Memory management

The lifetime of this object is automatically managed through reference counting.

Class hierarchy

Animation inherits methods from:

Safety

All types in the Godot API have "interior mutability" in Rust parlance. To enforce that the official thread-safety guidelines are followed, the typestate pattern is used in the Ref and TRef smart pointers, and the Instance API. The typestate Access in these types tracks whether the access is unique, shared, or exclusive to the current thread. For more information, see the type-level documentation on Ref.

Implementations

impl Animation[src]

Constants

impl Animation[src]

pub fn new() -> Ref<Animation, Unique>[src]

Creates a new instance of this object.

This is a reference-counted type. The returned object is automatically managed by Ref.

pub fn add_track(&self, _type: i64, at_position: i64) -> i64[src]

Adds a track to the Animation.

Default Arguments

  • at_position - -1

pub fn animation_track_get_key_animation(
    &self,
    track_idx: i64,
    key_idx: i64
) -> GodotString
[src]

Returns the animation name at the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Animation Track.

pub fn animation_track_insert_key(
    &self,
    track_idx: i64,
    time: f64,
    animation: impl Into<GodotString>
) -> i64
[src]

Inserts a key with value [code]animation[/code] at the given [code]time[/code] (in seconds). The [code]track_idx[/code] must be the index of an Animation Track.

pub fn animation_track_set_key_animation(
    &self,
    track_idx: i64,
    key_idx: i64,
    animation: impl Into<GodotString>
)
[src]

Sets the key identified by [code]key_idx[/code] to value [code]animation[/code]. The [code]track_idx[/code] must be the index of an Animation Track.

pub fn audio_track_get_key_end_offset(
    &self,
    track_idx: i64,
    key_idx: i64
) -> f64
[src]

Returns the end offset of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track.
				End offset is the number of seconds cut off at the ending of the audio stream.

pub fn audio_track_get_key_start_offset(
    &self,
    track_idx: i64,
    key_idx: i64
) -> f64
[src]

Returns the start offset of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track.
				Start offset is the number of seconds cut off at the beginning of the audio stream.

pub fn audio_track_get_key_stream(
    &self,
    track_idx: i64,
    key_idx: i64
) -> Option<Ref<Resource, Shared>>
[src]

Returns the audio stream of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track.

pub fn audio_track_insert_key(
    &self,
    track_idx: i64,
    time: f64,
    stream: impl AsArg<Resource>,
    start_offset: f64,
    end_offset: f64
) -> i64
[src]

Inserts an Audio Track key at the given [code]time[/code] in seconds. The [code]track_idx[/code] must be the index of an Audio Track.
				[code]stream[/code] is the [AudioStream] resource to play. [code]start_offset[/code] is the number of seconds cut off at the beginning of the audio stream, while [code]end_offset[/code] is at the ending.

Default Arguments

  • start_offset - 0
  • end_offset - 0

pub fn audio_track_set_key_end_offset(
    &self,
    track_idx: i64,
    key_idx: i64,
    offset: f64
)
[src]

Sets the end offset of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track.

pub fn audio_track_set_key_start_offset(
    &self,
    track_idx: i64,
    key_idx: i64,
    offset: f64
)
[src]

Sets the start offset of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track.

pub fn audio_track_set_key_stream(
    &self,
    track_idx: i64,
    key_idx: i64,
    stream: impl AsArg<Resource>
)
[src]

Sets the stream of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track.

pub fn bezier_track_get_key_in_handle(
    &self,
    track_idx: i64,
    key_idx: i64
) -> Vector2D<f32, UnknownUnit>
[src]

Returns the in handle of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track.

pub fn bezier_track_get_key_out_handle(
    &self,
    track_idx: i64,
    key_idx: i64
) -> Vector2D<f32, UnknownUnit>
[src]

Returns the out handle of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track.

pub fn bezier_track_get_key_value(&self, track_idx: i64, key_idx: i64) -> f64[src]

Returns the value of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track.

pub fn bezier_track_insert_key(
    &self,
    track_idx: i64,
    time: f64,
    value: f64,
    in_handle: Vector2D<f32, UnknownUnit>,
    out_handle: Vector2D<f32, UnknownUnit>
) -> i64
[src]

Inserts a Bezier Track key at the given [code]time[/code] in seconds. The [code]track_idx[/code] must be the index of a Bezier Track.
				[code]in_handle[/code] is the left-side weight of the added Bezier curve point, [code]out_handle[/code] is the right-side one, while [code]value[/code] is the actual value at this point.

Default Arguments

  • in_handle - Vector2( 0, 0 )
  • out_handle - Vector2( 0, 0 )

pub fn bezier_track_interpolate(&self, track_idx: i64, time: f64) -> f64[src]

Returns the interpolated value at the given [code]time[/code] (in seconds). The [code]track_idx[/code] must be the index of a Bezier Track.

pub fn bezier_track_set_key_in_handle(
    &self,
    track_idx: i64,
    key_idx: i64,
    in_handle: Vector2D<f32, UnknownUnit>
)
[src]

Sets the in handle of the key identified by [code]key_idx[/code] to value [code]in_handle[/code]. The [code]track_idx[/code] must be the index of a Bezier Track.

pub fn bezier_track_set_key_out_handle(
    &self,
    track_idx: i64,
    key_idx: i64,
    out_handle: Vector2D<f32, UnknownUnit>
)
[src]

Sets the out handle of the key identified by [code]key_idx[/code] to value [code]out_handle[/code]. The [code]track_idx[/code] must be the index of a Bezier Track.

pub fn bezier_track_set_key_value(
    &self,
    track_idx: i64,
    key_idx: i64,
    value: f64
)
[src]

Sets the value of the key identified by [code]key_idx[/code] to the given value. The [code]track_idx[/code] must be the index of a Bezier Track.

pub fn clear(&self)[src]

Clear the animation (clear all tracks and reset all).

pub fn copy_track(&self, track_idx: i64, to_animation: impl AsArg<Animation>)[src]

Adds a new track that is a copy of the given track from [code]to_animation[/code].

pub fn find_track(&self, path: impl Into<NodePath>) -> i64[src]

Returns the index of the specified track. If the track is not found, return -1.

pub fn length(&self) -> f64[src]

The total length of the animation (in seconds).
			[b]Note:[/b] Length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.

pub fn step(&self) -> f64[src]

The animation step value.

pub fn get_track_count(&self) -> i64[src]

Returns the amount of tracks in the animation.

pub fn has_loop(&self) -> bool[src]

A flag indicating that the animation must loop. This is uses for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.

pub fn method_track_get_key_indices(
    &self,
    track_idx: i64,
    time_sec: f64,
    delta: f64
) -> TypedArray<i32>
[src]

Returns all the key indices of a method track, given a position and delta time.

pub fn method_track_get_name(&self, track_idx: i64, key_idx: i64) -> GodotString[src]

Returns the method name of a method track.

pub fn method_track_get_params(
    &self,
    track_idx: i64,
    key_idx: i64
) -> VariantArray<Shared>
[src]

Returns the arguments values to be called on a method track for a given key in a given track.

pub fn remove_track(&self, track_idx: i64)[src]

Removes a track by specifying the track index.

pub fn set_length(&self, time_sec: f64)[src]

The total length of the animation (in seconds).
			[b]Note:[/b] Length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.

pub fn set_loop(&self, enabled: bool)[src]

A flag indicating that the animation must loop. This is uses for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.

pub fn set_step(&self, size_sec: f64)[src]

The animation step value.

pub fn track_find_key(&self, track_idx: i64, time: f64, exact: bool) -> i64[src]

Finds the key index by time in a given track. Optionally, only find it if the exact time is given.

Default Arguments

  • exact - false

pub fn track_get_interpolation_loop_wrap(&self, track_idx: i64) -> bool[src]

Returns [code]true[/code] if the track at [code]idx[/code] wraps the interpolation loop. New tracks wrap the interpolation loop by default.

pub fn track_get_interpolation_type(&self, track_idx: i64) -> InterpolationType[src]

Returns the interpolation type of a given track.

pub fn track_get_key_count(&self, track_idx: i64) -> i64[src]

Returns the amount of keys in a given track.

pub fn track_get_key_time(&self, track_idx: i64, key_idx: i64) -> f64[src]

Returns the time at which the key is located.

pub fn track_get_key_transition(&self, track_idx: i64, key_idx: i64) -> f64[src]

Returns the transition curve (easing) for a specific key (see the built-in math function [method @GDScript.ease]).

pub fn track_get_key_value(&self, track_idx: i64, key_idx: i64) -> Variant[src]

Returns the value of a given key in a given track.

pub fn track_get_path(&self, track_idx: i64) -> NodePath[src]

Gets the path of a track. For more information on the path format, see [method track_set_path].

pub fn track_get_type(&self, track_idx: i64) -> TrackType[src]

Gets the type of a track.

pub fn track_insert_key(
    &self,
    track_idx: i64,
    time: f64,
    key: impl OwnedToVariant,
    transition: f64
)
[src]

Insert a generic key in a given track.

Default Arguments

  • transition - 1

pub fn track_is_enabled(&self, track_idx: i64) -> bool[src]

Returns [code]true[/code] if the track at index [code]idx[/code] is enabled.

pub fn track_is_imported(&self, track_idx: i64) -> bool[src]

Returns [code]true[/code] if the given track is imported. Else, return [code]false[/code].

pub fn track_move_down(&self, track_idx: i64)[src]

Moves a track down.

pub fn track_move_to(&self, track_idx: i64, to_idx: i64)[src]

Changes the index position of track [code]idx[/code] to the one defined in [code]to_idx[/code].

pub fn track_move_up(&self, track_idx: i64)[src]

Moves a track up.

pub fn track_remove_key(&self, track_idx: i64, key_idx: i64)[src]

Removes a key by index in a given track.

pub fn track_remove_key_at_position(&self, track_idx: i64, position: f64)[src]

Removes a key by position (seconds) in a given track.

pub fn track_set_enabled(&self, track_idx: i64, enabled: bool)[src]

Enables/disables the given track. Tracks are enabled by default.

pub fn track_set_imported(&self, track_idx: i64, imported: bool)[src]

Sets the given track as imported or not.

pub fn track_set_interpolation_loop_wrap(
    &self,
    track_idx: i64,
    interpolation: bool
)
[src]

If [code]true[/code], the track at [code]idx[/code] wraps the interpolation loop.

pub fn track_set_interpolation_type(&self, track_idx: i64, interpolation: i64)[src]

Sets the interpolation type of a given track.

pub fn track_set_key_time(&self, track_idx: i64, key_idx: i64, time: f64)[src]

Sets the time of an existing key.

pub fn track_set_key_transition(
    &self,
    track_idx: i64,
    key_idx: i64,
    transition: f64
)
[src]

Sets the transition curve (easing) for a specific key (see the built-in math function [method @GDScript.ease]).

pub fn track_set_key_value(
    &self,
    track_idx: i64,
    key: i64,
    value: impl OwnedToVariant
)
[src]

Sets the value of an existing key.

pub fn track_set_path(&self, track_idx: i64, path: impl Into<NodePath>)[src]

Sets the path of a track. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by [code]":"[/code].
				For example, [code]"character/skeleton:ankle"[/code] or [code]"character/mesh:transform/local"[/code].

pub fn track_swap(&self, track_idx: i64, with_idx: i64)[src]

Swaps the track [code]idx[/code]'s index position with the track [code]with_idx[/code].

pub fn transform_track_insert_key(
    &self,
    track_idx: i64,
    time: f64,
    location: Vector3D<f32, UnknownUnit>,
    rotation: Rotation3D<f32, UnknownUnit, UnknownUnit>,
    scale: Vector3D<f32, UnknownUnit>
) -> i64
[src]

Insert a transform key for a transform track.

pub fn transform_track_interpolate(
    &self,
    track_idx: i64,
    time_sec: f64
) -> VariantArray<Shared>
[src]

Returns the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position ([Vector3]), rotation ([Quat]) and scale ([Vector3]).

pub fn value_track_get_key_indices(
    &self,
    track_idx: i64,
    time_sec: f64,
    delta: f64
) -> TypedArray<i32>
[src]

Returns all the key indices of a value track, given a position and delta time.

pub fn value_track_get_update_mode(&self, track_idx: i64) -> UpdateMode[src]

Returns the update mode of a value track.

pub fn value_track_set_update_mode(&self, track_idx: i64, mode: i64)[src]

Sets the update mode (see [enum UpdateMode]) of a value track.

Methods from Deref<Target = Resource>

pub fn duplicate(&self, subresources: bool) -> Option<Ref<Resource, Shared>>[src]

Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency. This can be changed by passing [code]true[/code] to the [code]subresources[/code] argument which will copy the subresources.
				[b]Note:[/b] If [code]subresources[/code] is [code]true[/code], this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.

Default Arguments

  • subresources - false

pub fn get_local_scene(&self) -> Option<Ref<Node, Shared>>[src]

If [member resource_local_to_scene] is enabled and the resource was loaded from a [PackedScene] instantiation, returns the local scene where this resource's unique copy is in use. Otherwise, returns [code]null[/code].

pub fn name(&self) -> GodotString[src]

The name of the resource. This is an optional identifier.

pub fn path(&self) -> GodotString[src]

The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.

pub fn get_rid(&self) -> Rid[src]

Returns the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high-level abstractions of resources stored in a server, so this function will return the original RID.

pub fn is_local_to_scene(&self) -> bool[src]

If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.

pub fn set_local_to_scene(&self, enable: bool)[src]

If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.

pub fn set_name(&self, name: impl Into<GodotString>)[src]

The name of the resource. This is an optional identifier.

pub fn set_path(&self, path: impl Into<GodotString>)[src]

The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.

pub fn setup_local_to_scene(&self)[src]

This method is called when a resource with [member resource_local_to_scene] enabled is loaded from a [PackedScene] instantiation. Its behavior can be customized by overriding [method _setup_local_to_scene] from script.
				For most resources, this method performs no base logic. [ViewportTexture] performs custom logic to properly set the proxy texture and flags in the local viewport.

pub fn take_over_path(&self, path: impl Into<GodotString>)[src]

Sets the path of the resource, potentially overriding an existing cache entry for this path. This differs from setting [member resource_path], as the latter would error out if another resource was already cached for the given path.

Trait Implementations

impl Debug for Animation[src]

impl Deref for Animation[src]

type Target = Resource

The resulting type after dereferencing.

impl DerefMut for Animation[src]

impl GodotObject for Animation[src]

type RefKind = RefCounted

The memory management kind of this type. This modifies the behavior of the Ref smart pointer. See its type-level documentation for more information. Read more

impl Instanciable for Animation[src]

impl SubClass<Object> for Animation[src]

impl SubClass<Reference> for Animation[src]

impl SubClass<Resource> for Animation[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.