2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 21:18:53 +08:00
<class name= "Sprite2D" inherits= "Node2D" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-13 04:42:36 +08:00
<brief_description >
2019-06-22 07:04:47 +08:00
General-purpose sprite node.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2017-09-24 00:11:51 +08:00
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.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
2020-10-01 16:34:47 +08:00
<link title= "Instancing Demo" > https://godotengine.org/asset-library/asset/148</link>
2017-09-13 04:42:36 +08:00
</tutorials>
<methods >
2018-02-25 14:19:42 +08:00
<method name= "get_rect" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Rect2" />
2018-02-25 14:19:42 +08:00
<description >
2020-03-31 00:22:57 +08:00
Returns a [Rect2] representing the Sprite2D's boundary in local coordinates. Can be used to detect if the Sprite2D was clicked. Example:
2020-11-28 07:33:15 +08:00
[codeblocks]
[gdscript]
2019-05-26 21:51:27 +08:00
func _input(event):
2021-01-08 11:37:37 +08:00
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
2019-05-26 21:51:27 +08:00
if get_rect().has_point(to_local(event.position)):
print("A click!")
2020-11-28 07:33:15 +08:00
[/gdscript]
[csharp]
public override void _Input(InputEvent inputEvent)
{
if (inputEvent is InputEventMouseButton inputEventMouse)
{
if (inputEventMouse.Pressed & & inputEventMouse.ButtonIndex == (int)ButtonList.Left)
{
if (GetRect().HasPoint(ToLocal(inputEventMouse.Position)))
{
GD.Print("A click!");
}
}
}
}
[/csharp]
[/codeblocks]
2018-02-25 14:19:42 +08:00
</description>
</method>
2018-08-30 04:25:11 +08:00
<method name= "is_pixel_opaque" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "bool" />
<argument index= "0" name= "pos" type= "Vector2" />
2018-08-30 04:25:11 +08:00
<description >
2019-06-18 22:17:48 +08:00
Returns [code]true[/code], if the pixel at the given position is opaque and [code]false[/code] in other case.
2019-06-22 07:04:47 +08:00
[b]Note:[/b] It also returns [code]false[/code], if the sprite's texture is [code]null[/code] or if the given position is invalid.
2018-08-30 04:25:11 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "centered" type= "bool" setter= "set_centered" getter= "is_centered" default= "true" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], texture is centered.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "flip_h" type= "bool" setter= "set_flip_h" getter= "is_flipped_h" default= "false" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], texture is flipped horizontally.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "flip_v" type= "bool" setter= "set_flip_v" getter= "is_flipped_v" default= "false" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], texture is flipped vertically.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "frame" type= "int" setter= "set_frame" getter= "get_frame" default= "0" >
2020-08-22 07:56:14 +08:00
Current frame to display from sprite sheet. [member hframes] or [member vframes] must be greater than 1.
2017-09-13 04:42:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "frame_coords" type= "Vector2i" setter= "set_frame_coords" getter= "get_frame_coords" default= "Vector2i(0, 0)" >
2020-08-22 07:56:14 +08:00
Coordinates of the frame to display from sprite sheet. This is as an alias for the [member frame] property. [member hframes] or [member vframes] must be greater than 1.
2019-01-26 02:21:23 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "hframes" type= "int" setter= "set_hframes" getter= "get_hframes" default= "1" >
2018-02-22 00:30:55 +08:00
The number of columns in the sprite sheet.
2017-09-13 04:42:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "offset" type= "Vector2" setter= "set_offset" getter= "get_offset" default= "Vector2(0, 0)" >
2017-09-24 00:11:51 +08:00
The texture's drawing offset.
2017-09-13 04:42:36 +08:00
</member>
2021-03-14 21:43:43 +08:00
<member name= "region_enabled" type= "bool" setter= "set_region_enabled" getter= "is_region_enabled" default= "false" >
2019-06-29 21:24:23 +08:00
If [code]true[/code], texture is cut from a larger atlas texture. See [member region_rect].
2017-09-13 04:42:36 +08:00
</member>
2021-03-14 21:43:43 +08:00
<member name= "region_filter_clip_enabled" type= "bool" setter= "set_region_filter_clip_enabled" getter= "is_region_filter_clip_enabled" default= "false" >
2020-02-14 10:34:59 +08:00
If [code]true[/code], the outermost pixels get blurred out. [member region_enabled] must be [code]true[/code].
2017-09-13 04:42:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "region_rect" type= "Rect2" setter= "set_region_rect" getter= "get_region_rect" default= "Rect2(0, 0, 0, 0)" >
2017-10-07 00:33:16 +08:00
The region of the atlas texture to display. [member region_enabled] must be [code]true[/code].
2017-09-13 04:42:36 +08:00
</member>
2020-02-12 16:59:06 +08:00
<member name= "texture" type= "Texture2D" setter= "set_texture" getter= "get_texture" >
[Texture2D] object to draw.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "vframes" type= "int" setter= "set_vframes" getter= "get_vframes" default= "1" >
2017-10-07 00:33:16 +08:00
The number of rows in the sprite sheet.
2017-09-13 04:42:36 +08:00
</member>
</members>
<signals >
<signal name= "frame_changed" >
<description >
2017-10-07 00:33:16 +08:00
Emitted when the [member frame] changes.
2017-09-13 04:42:36 +08:00
</description>
</signal>
<signal name= "texture_changed" >
<description >
2017-10-07 00:33:16 +08:00
Emitted when the [member texture] changes.
2017-09-13 04:42:36 +08:00
</description>
</signal>
</signals>
</class>