Sprite2D
继承: Node2D < CanvasItem < Node < Object
通用精灵节点。
描述
显示 2D 纹理的节点。显示的纹理可以是较大图集纹理中的某个区域,也可以是精灵表动画中的某一帧。
教程
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
get_rect ( ) const | |
is_pixel_opaque ( Vector2 pos ) const |
信号
frame_changed ( )
当 frame 更改时发出。
texture_changed ( )
当 texture 更改时发出。
属性说明
bool centered = true
如果为 true
,纹理居中。
bool flip_h = false
如果为 true
,纹理将被水平翻转。
bool flip_v = false
如果为 true
,纹理将被垂直翻转。
int frame = 0
当前显示的精灵表中的帧。vframes 或 hframes 必须大于 1。
Vector2i frame_coords = Vector2i(0, 0)
显示的帧在精灵表中的坐标。这是 frame 属性的别名。vframes 或 hframes 必须大于 1。
int hframes = 1
精灵表中的列数。
Vector2 offset = Vector2(0, 0)
纹理的绘图偏移量。
bool region_enabled = false
如果为 true
,则从较大的图集纹理中剪切纹理。见 region_rect。
bool region_filter_clip_enabled = false
如果为 true
,则最外侧的像素会变得模糊。region_enabled 必须为 true
。
Rect2 region_rect = Rect2(0, 0, 0, 0)
要显示的图集纹理区域。region_enabled 必须是 true
。
Texture2D texture
要绘制的 Texture2D 对象。
int vframes = 1
精灵表中的行数。
方法说明
Rect2 get_rect ( ) const
返回代表该 Sprite2D 边界的 Rect2,使用局部坐标。可用于检测该 Sprite2D 是否被点击。
示例:
GDScriptC#
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("我点!")
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("我点!");
}
}
}
}
bool is_pixel_opaque ( Vector2 pos ) const
如果给定位置的像素不透明,则返回 true
,其他情况下返回 false
。
注意:如果精灵的纹理为 null
或者给定的位置无效,它也会返回 false
。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.