Inherits: Node2D < CanvasItem < Node < Object

Category: Core

Brief Description

General purpose Sprite node.


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


  • frame_changed ( )

Emitted when the frame changes.

  • texture_changed ( )

Emitted when the texture changes.


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.

Property Descriptions

Setter set_centered(value)
Getter is_centered()

If true, texture is centered. Default value: true.

Setter set_flip_h(value)
Getter is_flipped_h()

If true, texture is flipped horizontally. Default value: false.

Setter set_flip_v(value)
Getter is_flipped_v()

If true, texture is flipped vertically. Default value: false.

Setter set_frame(value)
Getter get_frame()

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

Setter set_hframes(value)
Getter get_hframes()

The number of columns in the sprite sheet.

Setter set_normal_map(value)
Getter get_normal_map()

The normal map gives depth to the Sprite.

Setter set_offset(value)
Getter get_offset()

The texture’s drawing offset.

  • bool region_enabled
Setter set_region(value)
Getter is_region()

If true, texture is cut from a larger atlas texture. See region_rect. Default value: false.

  • bool region_filter_clip
Setter set_region_filter_clip(value)
Getter is_region_filter_clip_enabled()

If true, the outermost pixels get blurred out.

Setter set_region_rect(value)
Getter get_region_rect()

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

Setter set_texture(value)
Getter get_texture()

Texture object to draw.

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!")

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.