2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2021-04-26 13:14:51 +02:00
<class name= "Sprite" inherits= "Node2D" version= "3.4" >
2017-09-12 22:42:36 +02:00
<brief_description >
2019-06-22 01:04:47 +02:00
General-purpose sprite node.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2017-09-23 18:11:51 +02: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-12 22:42:36 +02:00
</description>
<tutorials >
2020-10-01 10:34:47 +02:00
<link title= "Instancing Demo" > https://godotengine.org/asset-library/asset/148</link>
2017-09-12 22:42:36 +02:00
</tutorials>
<methods >
2018-02-25 07:19:42 +01:00
<method name= "get_rect" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "Rect2" />
2018-02-25 07:19:42 +01:00
<description >
2019-05-26 15:51:27 +02:00
Returns a [Rect2] representing the Sprite's boundary in local coordinates. Can be used to detect if the Sprite was clicked. Example:
[codeblock]
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!")
[/codeblock]
2018-02-25 07:19:42 +01:00
</description>
</method>
2018-08-29 22:25:11 +02:00
<method name= "is_pixel_opaque" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
<argument index= "0" name= "pos" type= "Vector2" />
2018-08-29 22:25:11 +02:00
<description >
2019-06-18 16:17:48 +02:00
Returns [code]true[/code], if the pixel at the given position is opaque and [code]false[/code] in other case.
2019-06-22 01:04:47 +02: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-29 22:25:11 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
<members >
2019-06-29 12:38:01 +02:00
<member name= "centered" type= "bool" setter= "set_centered" getter= "is_centered" default= "true" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], texture is centered.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "flip_h" type= "bool" setter= "set_flip_h" getter= "is_flipped_h" default= "false" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], texture is flipped horizontally.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "flip_v" type= "bool" setter= "set_flip_v" getter= "is_flipped_v" default= "false" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], texture is flipped vertically.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "frame" type= "int" setter= "set_frame" getter= "get_frame" default= "0" >
2020-08-22 01:56:14 +02:00
Current frame to display from sprite sheet. [member hframes] or [member vframes] must be greater than 1.
2017-09-12 22:42:36 +02:00
</member>
2019-07-29 21:12:57 +02:00
<member name= "frame_coords" type= "Vector2" setter= "set_frame_coords" getter= "get_frame_coords" default= "Vector2( 0, 0 )" >
2020-08-22 01:56:14 +02: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-25 19:21:23 +01:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "hframes" type= "int" setter= "set_hframes" getter= "get_hframes" default= "1" >
2018-02-21 17:30:55 +01:00
The number of columns in the sprite sheet.
2017-09-12 22:42:36 +02:00
</member>
2019-07-15 20:42:47 +02:00
<member name= "normal_map" type= "Texture" setter= "set_normal_map" getter= "get_normal_map" >
2017-10-06 18:33:16 +02:00
The normal map gives depth to the Sprite.
2020-05-04 22:18:05 +02:00
[b]Note:[/b] Godot expects the normal map to use X+, Y-, and Z+ coordinates. See [url=http://wiki.polycount.com/wiki/Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for a comparison of normal map coordinates expected by popular engines.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "offset" type= "Vector2" setter= "set_offset" getter= "get_offset" default= "Vector2( 0, 0 )" >
2017-09-23 18:11:51 +02:00
The texture's drawing offset.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "region_enabled" type= "bool" setter= "set_region" getter= "is_region" default= "false" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], texture is cut from a larger atlas texture. See [member region_rect].
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "region_filter_clip" type= "bool" setter= "set_region_filter_clip" getter= "is_region_filter_clip_enabled" default= "false" >
2018-12-20 13:46:54 +01:00
If [code]true[/code], the outermost pixels get blurred out.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "region_rect" type= "Rect2" setter= "set_region_rect" getter= "get_region_rect" default= "Rect2( 0, 0, 0, 0 )" >
2017-10-06 18:33:16 +02:00
The region of the atlas texture to display. [member region_enabled] must be [code]true[/code].
2017-09-12 22:42:36 +02:00
</member>
2019-07-15 20:42:47 +02:00
<member name= "texture" type= "Texture" setter= "set_texture" getter= "get_texture" >
2017-09-23 18:11:51 +02:00
[Texture] object to draw.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "vframes" type= "int" setter= "set_vframes" getter= "get_vframes" default= "1" >
2017-10-06 18:33:16 +02:00
The number of rows in the sprite sheet.
2017-09-12 22:42:36 +02:00
</member>
</members>
<signals >
<signal name= "frame_changed" >
<description >
2017-10-06 18:33:16 +02:00
Emitted when the [member frame] changes.
2017-09-12 22:42:36 +02:00
</description>
</signal>
<signal name= "texture_changed" >
<description >
2017-10-06 18:33:16 +02:00
Emitted when the [member texture] changes.
2017-09-12 22:42:36 +02:00
</description>
</signal>
</signals>
<constants >
</constants>
</class>