summaryrefslogtreecommitdiff
path: root/doc/classes/Sprite2D.xml
blob: 235fef0bddbd7d980bb4c79bf3938b0cfa906064 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Sprite2D" inherits="Node2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		General-purpose sprite node.
	</brief_description>
	<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.
	</description>
	<tutorials>
		<link title="Instancing Demo">https://godotengine.org/asset-library/asset/148</link>
	</tutorials>
	<methods>
		<method name="get_rect" qualifiers="const">
			<return type="Rect2" />
			<description>
				Returns a [Rect2] representing the Sprite2D's boundary in local coordinates. Can be used to detect if the Sprite2D was clicked.
				[b]Example:[/b]
				[codeblocks]
				[gdscript]
				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!")
				[/gdscript]
				[csharp]
				public override void _Input(InputEvent inputEvent)
				{
				    if (inputEvent is InputEventMouseButton inputEventMouse)
				    {
				        if (inputEventMouse.Pressed &amp;&amp; inputEventMouse.ButtonIndex == (int)ButtonList.Left)
				        {
				            if (GetRect().HasPoint(ToLocal(inputEventMouse.Position)))
				            {
				                GD.Print("A click!");
				            }
				        }
				    }
				}
				[/csharp]
				[/codeblocks]
			</description>
		</method>
		<method name="is_pixel_opaque" qualifiers="const">
			<return type="bool" />
			<param index="0" name="pos" type="Vector2" />
			<description>
				Returns [code]true[/code], if the pixel at the given position is opaque and [code]false[/code] in other case.
				[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.
			</description>
		</method>
	</methods>
	<members>
		<member name="centered" type="bool" setter="set_centered" getter="is_centered" default="true">
			If [code]true[/code], texture is centered.
		</member>
		<member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
			If [code]true[/code], texture is flipped horizontally.
		</member>
		<member name="flip_v" type="bool" setter="set_flip_v" getter="is_flipped_v" default="false">
			If [code]true[/code], texture is flipped vertically.
		</member>
		<member name="frame" type="int" setter="set_frame" getter="get_frame" default="0">
			Current frame to display from sprite sheet. [member hframes] or [member vframes] must be greater than 1.
		</member>
		<member name="frame_coords" type="Vector2i" setter="set_frame_coords" getter="get_frame_coords" default="Vector2i(0, 0)">
			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.
		</member>
		<member name="hframes" type="int" setter="set_hframes" getter="get_hframes" default="1">
			The number of columns in the sprite sheet.
		</member>
		<member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2(0, 0)">
			The texture's drawing offset.
		</member>
		<member name="region_enabled" type="bool" setter="set_region_enabled" getter="is_region_enabled" default="false">
			If [code]true[/code], texture is cut from a larger atlas texture. See [member region_rect].
		</member>
		<member name="region_filter_clip_enabled" type="bool" setter="set_region_filter_clip_enabled" getter="is_region_filter_clip_enabled" default="false">
			If [code]true[/code], the outermost pixels get blurred out. [member region_enabled] must be [code]true[/code].
		</member>
		<member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2(0, 0, 0, 0)">
			The region of the atlas texture to display. [member region_enabled] must be [code]true[/code].
		</member>
		<member name="texture" type="Texture2D" setter="set_texture" getter="get_texture">
			[Texture2D] object to draw.
		</member>
		<member name="vframes" type="int" setter="set_vframes" getter="get_vframes" default="1">
			The number of rows in the sprite sheet.
		</member>
	</members>
	<signals>
		<signal name="frame_changed">
			<description>
				Emitted when the [member frame] changes.
			</description>
		</signal>
		<signal name="texture_changed">
			<description>
				Emitted when the [member texture] changes.
			</description>
		</signal>
	</signals>
</class>