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

boolcenteredtrue
boolflip_hfalse
boolflip_vfalse
intframe0
Vector2frame_coordsVector2( 0, 0 )
inthframes1
Texturenormal_map 
Vector2offsetVector2( 0, 0 )
boolregion_enabledfalse
boolregion_filter_clipfalse
Rect2region_rectRect2( 0, 0, 0, 0 )
Texturetexture 
intvframes1

Methods

Rect2get_rect ( ) const
boolis_pixel_opaque ( Vector2 pos ) const

Signals

  • frame_changed ( )

Emitted when the frame changes.


  • texture_changed ( )

Emitted when the texture changes.

Property Descriptions

Defaulttrue
Setterset_centered(value)
Getteris_centered()

If true, texture is centered.


Defaultfalse
Setterset_flip_h(value)
Getteris_flipped_h()

If true, texture is flipped horizontally.


Defaultfalse
Setterset_flip_v(value)
Getteris_flipped_v()

If true, texture is flipped vertically.


Default0
Setterset_frame(value)
Getterget_frame()

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


DefaultVector2( 0, 0 )
Setterset_frame_coords(value)
Getterget_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.


Default1
Setterset_hframes(value)
Getterget_hframes()

The number of columns in the sprite sheet.


Setterset_normal_map(value)
Getterget_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.


DefaultVector2( 0, 0 )
Setterset_offset(value)
Getterget_offset()

The texture’s drawing offset.


  • bool region_enabled
Defaultfalse
Setterset_region(value)
Getteris_region()

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


  • bool region_filter_clip
Defaultfalse
Setterset_region_filter_clip(value)
Getteris_region_filter_clip_enabled()

If true, the outermost pixels get blurred out.


DefaultRect2( 0, 0, 0, 0 )
Setterset_region_rect(value)
Getterget_region_rect()

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


Setterset_texture(value)
Getterget_texture()

Texture object to draw.


Default1
Setterset_vframes(value)
Getterget_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.