Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Sprite2D¶
Inherits: Node2D < CanvasItem < Node < Object
General-purpose sprite node.
描述¶
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.
教程¶
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
get_rect ( ) const |
|
is_pixel_opaque ( Vector2 pos ) const |
信号¶
frame_changed ( )
Emitted when the frame changes.
texture_changed ( )
Emitted when the texture changes.
Property Descriptions¶
bool centered = true
If true
, texture is centered.
bool flip_h = false
If true
, texture is flipped horizontally.
bool flip_v = false
If true
, texture is flipped vertically.
int frame = 0
Current frame to display from sprite sheet. hframes or vframes must be greater than 1.
Vector2i frame_coords = Vector2i(0, 0)
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 = 1
The number of columns in the sprite sheet.
Vector2 offset = Vector2(0, 0)
The texture's drawing offset.
bool region_enabled = false
If true
, texture is cut from a larger atlas texture. See region_rect.
bool region_filter_clip_enabled = false
If true
, the outermost pixels get blurred out. region_enabled must be true
.
Rect2 region_rect = Rect2(0, 0, 0, 0)
The region of the atlas texture to display. region_enabled must be true
.
Texture2D texture
Texture2D object to draw.
int vframes = 1
The number of rows in the sprite sheet.
Method Descriptions¶
Rect2 get_rect ( ) const
Returns a Rect2 representing the Sprite2D's boundary in local coordinates. Can be used to detect if the Sprite2D was clicked.
Example:
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!")
public override void _Input(InputEvent @event)
{
if (@event is InputEventMouseButton inputEventMouse)
{
if (inputEventMouse.Pressed && inputEventMouse.ButtonIndex == MouseButton.Left)
{
if (GetRect().HasPoint(ToLocal(inputEventMouse.Position)))
{
GD.Print("A click!");
}
}
}
}
bool is_pixel_opaque ( Vector2 pos ) const
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.