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

Default

true

Setter

set_centered(value)

Getter

is_centered()

If true, texture is centered.


Default

false

Setter

set_flip_h(value)

Getter

is_flipped_h()

If true, texture is flipped horizontally.


Default

false

Setter

set_flip_v(value)

Getter

is_flipped_v()

If true, texture is flipped vertically.


Default

0

Setter

set_frame(value)

Getter

get_frame()

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


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. hframes or vframes must be greater than 1.


Default

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.

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.


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.


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.


Setter

set_texture(value)

Getter

get_texture()

Texture object to draw.


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:

  1. func _input(event):
  2. if event is InputEventMouseButton and event.pressed and event.button_index == BUTTON_LEFT:
  3. if get_rect().has_point(to_local(event.position)):
  4. 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.