Sprite

Inherits: Node2D < CanvasItem < Node < Object

General-purpose sprite node.

Description

A node that displays a 2D texture. The texture displayed can be a region from a larger atlas texture, or a frame from a sprite sheet animation.

Properties

bool centered true
bool flip_h false
bool flip_v false
int frame 0
Vector2 frame_coords Vector2( 0, 0 )
int hframes 1
Texture normal_map
Vector2 offset Vector2( 0, 0 )
bool region_enabled false
bool region_filter_clip false
Rect2 region_rect Rect2( 0, 0, 0, 0 )
Texture texture
int vframes 1

Methods

Rect2 get_rect ( ) const
bool is_pixel_opaque ( Vector2 pos ) const

Signals

frame_changed ( )

Emitted when the frame changes.

texture_changed ( )

Emitted when the texture changes.

Property Descriptions

bool centered

Default true
Setter set_centered(value)
Getter is_centered()

If true, texture is centered.

bool flip_h

Default false
Setter set_flip_h(value)
Getter is_flipped_h()

If true, texture is flipped horizontally.

bool flip_v

Default false
Setter set_flip_v(value)
Getter is_flipped_v()

If true, texture is flipped vertically.

int frame

Default 0
Setter set_frame(value)
Getter get_frame()

Current frame to display from sprite sheet. vframes or hframes must be greater than 1.

Vector2 frame_coords

Default Vector2( 0, 0 )
Setter set_frame_coords(value)
Getter get_frame_coords()

Coordinates of the frame to display from sprite sheet. This is as an alias for the frame property. vframes or hframes must be greater than 1.

int hframes

Default 1
Setter set_hframes(value)
Getter get_hframes()

The number of columns in the sprite sheet.

Texture normal_map

Setter set_normal_map(value)
Getter get_normal_map()

The normal map gives depth to the Sprite.

Note: Godot expects the normal map to use X+, Y-, and Z+ coordinates. See this page for a comparison of normal map coordinates expected by popular engines.

Vector2 offset

Default Vector2( 0, 0 )
Setter set_offset(value)
Getter get_offset()

The texture's drawing offset.

bool region_enabled

Default false
Setter set_region(value)
Getter is_region()

If true, texture is cut from a larger atlas texture. See region_rect.

bool region_filter_clip

Default false
Setter set_region_filter_clip(value)
Getter is_region_filter_clip_enabled()

If true, the outermost pixels get blurred out.

Rect2 region_rect

Default Rect2( 0, 0, 0, 0 )
Setter set_region_rect(value)
Getter get_region_rect()

The region of the atlas texture to display. region_enabled must be true.

Texture texture

Setter set_texture(value)
Getter get_texture()

Texture object to draw.

int vframes

Default 1
Setter set_vframes(value)
Getter get_vframes()

The number of rows in the sprite sheet.

Method Descriptions

Rect2 get_rect ( ) const

Returns a Rect2 representing the Sprite's boundary in local coordinates. Can be used to detect if the Sprite was clicked. Example:

func _input(event):
    if event is InputEventMouseButton and event.pressed and event.button_index == BUTTON_LEFT:
        if get_rect().has_point(to_local(event.position)):
            print("A click!")

bool is_pixel_opaque ( Vector2 pos ) const

Returns true, if the pixel at the given position is opaque and false in other case.

Note: It also returns false, if the sprite's texture is null or if the given position is invalid.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_sprite.html