Table of Contents

Class Sprite2D

General-purpose sprite node.

Inheritance
Sprite2D

Remarks

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.

See Also

Properties

centered

If true, texture is centered.

Note: For games with a pixel art aesthetic, textures may appear deformed when centered. This is caused by their position being between pixels. To prevent this, set this property to false, or consider enabling rendering/2d/snap/snap_2d_vertices_to_pixel and rendering/2d/snap/snap_2d_transforms_to_pixel.

var centered : bool = true

Property Value

bool

Remarks

  • void set_centered(bool value)
  • bool is_centered

flip_h

If true, texture is flipped horizontally.

var flip_h : bool = false

Property Value

bool

Remarks

  • void set_flip_h(bool value)
  • bool is_flipped_h

flip_v

If true, texture is flipped vertically.

var flip_v : bool = false

Property Value

bool

Remarks

  • void set_flip_v(bool value)
  • bool is_flipped_v

frame

Current frame to display from sprite sheet. hframes or vframes must be greater than 1. This property is automatically adjusted when hframes or vframes are changed to keep pointing to the same visual frame (same column and row). If that's impossible, this value is reset to 0.

var frame : int = 0

Property Value

int

Remarks

  • void set_frame(int value)
  • int get_frame

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.

var frame_coords : Vector2i = Vector2i(0, 0)

Property Value

Vector2i

Remarks

hframes

The number of columns in the sprite sheet. When this property is changed, frame is adjusted so that the same visual frame is maintained (same row and column). If that's impossible, frame is reset to 0.

var hframes : int = 1

Property Value

int

Remarks

  • void set_hframes(int value)
  • int get_hframes

offset

The texture's drawing offset.

var offset : Vector2 = Vector2(0, 0)

Property Value

Vector2

Remarks

region_enabled

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

var region_enabled : bool = false

Property Value

bool

Remarks

  • void set_region_enabled(bool value)
  • bool is_region_enabled

region_filter_clip_enabled

If true, the area outside of the region_rect is clipped to avoid bleeding of the surrounding texture pixels. region_enabled must be true.

var region_filter_clip_enabled : bool = false

Property Value

bool

Remarks

  • void set_region_filter_clip_enabled(bool value)
  • bool is_region_filter_clip_enabled

region_rect

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

var region_rect : Rect2 = Rect2(0, 0, 0, 0)

Property Value

Rect2

Remarks

  • void set_region_rect(Rect2 value)
  • Rect2 get_region_rect

texture

Texture2D object to draw.

var texture : Texture2D

Property Value

Texture2D

Remarks

vframes

The number of rows in the sprite sheet. When this property is changed, frame is adjusted so that the same visual frame is maintained (same row and column). If that's impossible, frame is reset to 0.

var vframes : int = 1

Property Value

int

Remarks

  • void set_vframes(int value)
  • int get_vframes

Methods

get_rect

Qualifiers: const

Returns a Rect2 representing the Sprite2D's boundary in local coordinates.

Example: Detect if the Sprite2D was clicked:

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

Rect2 get_rect

is_pixel_opaque(Vector2)

Qualifiers: const

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

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

bool is_pixel_opaque(Vector2 pos)

Parameters

pos Vector2

Events

frame_changed

Emitted when the frame changes.

signal frame_changed

texture_changed

Emitted when the texture changes.

signal texture_changed