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
Default | true |
Setter | set_centered(value) |
Getter | is_centered() |
If true
, texture is centered.
- bool flip_h
Default | false |
Setter | set_flip_h(value) |
Getter | is_flipped_h() |
If true
, texture is flipped horizontally.
- bool flip_v
Default | false |
Setter | set_flip_v(value) |
Getter | is_flipped_v() |
If true
, texture is flipped vertically.
- int frame
Default | 0 |
Setter | set_frame(value) |
Getter | get_frame() |
Current frame to display from sprite sheet. hframes or vframes must be greater than 1.
- Vector2 frame_coords
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.
- int hframes
Default | 1 |
Setter | set_hframes(value) |
Getter | get_hframes() |
The number of columns in the sprite sheet.
- Texture normal_map
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.
- Vector2 offset
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.
- Rect2 region_rect
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
.
- Texture texture
Setter | set_texture(value) |
Getter | get_texture() |
Texture object to draw.
- int vframes
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:
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.