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.

Tutorials

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 = true

  • void set_centered ( bool value )

  • bool is_centered ( )

If true, texture is centered.


bool flip_h = false

  • void set_flip_h ( bool value )

  • bool is_flipped_h ( )

If true, texture is flipped horizontally.


bool flip_v = false

  • void set_flip_v ( bool value )

  • bool is_flipped_v ( )

If true, texture is flipped vertically.


int frame = 0

  • void set_frame ( int value )

  • int get_frame ( )

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


Vector2 frame_coords = Vector2( 0, 0 )

  • void set_frame_coords ( Vector2 value )

  • Vector2 get_frame_coords ( )

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


int hframes = 1

  • void set_hframes ( int value )

  • int get_hframes ( )

The number of columns in the sprite sheet.


Texture normal_map

The normal map gives depth to the Sprite.

Note: Redot 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 = Vector2( 0, 0 )

The texture's drawing offset.


bool region_enabled = false

  • void set_region ( bool value )

  • bool is_region ( )

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


bool region_filter_clip = false

  • void set_region_filter_clip ( bool value )

  • bool is_region_filter_clip_enabled ( )

If true, the outermost pixels get blurred out.


Rect2 region_rect = Rect2( 0, 0, 0, 0 )

  • void set_region_rect ( Rect2 value )

  • Rect2 get_region_rect ( )

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


Texture texture

Texture object to draw.


int vframes = 1

  • void set_vframes ( int value )

  • int 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.