Sprite
Inherits: Node2D < CanvasItem < Node < Object
通用精灵图节点。
描述
显示 2D 纹理的节点。显示的纹理可以是来自较大图集纹理的区域,也可以是来自精灵表动画的帧。
教程
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
get_rect ( ) const | |
is_pixel_opaque ( Vector2 pos ) const |
信号
- frame_changed ( )
当 frame 更改时发出。
- texture_changed ( )
texture 更改时发出。
属性说明
- bool centered
Default |
|
Setter | set_centered(value) |
Getter | is_centered() |
如果 true
,纹理居中。
- bool flip_h
Default |
|
Setter | set_flip_h(value) |
Getter | is_flipped_h() |
为 true
时纹理将被水平翻转。
- bool flip_v
Default |
|
Setter | set_flip_v(value) |
Getter | is_flipped_v() |
为 true
时纹理将被垂直翻转。
- int frame
Default |
|
Setter | set_frame(value) |
Getter | get_frame() |
当前显示的精灵表中的帧。vframes 或 hframes 必须大于 1。
- Vector2 frame_coords
Default |
|
Setter | set_frame_coords(value) |
Getter | get_frame_coords() |
显示的帧在精灵表中的坐标。这是 frame 属性的别名。vframes 或 hframes 必须大于 1。
- int hframes
Default |
|
Setter | set_hframes(value) |
Getter | get_hframes() |
精灵表中的列数。
- Texture normal_map
Setter | set_normal_map(value) |
Getter | get_normal_map() |
为 Sprite 提供深度的法线贴图。
注意: Godot 期望法线贴图使用 X+、Y- 和 Z+ 坐标系。参阅这个页面比较流行引擎所期望的法线贴图坐标系。
- Vector2 offset
Default |
|
Setter | set_offset(value) |
Getter | get_offset() |
纹理的绘图偏移量。
- bool region_enabled
Default |
|
Setter | set_region(value) |
Getter | is_region() |
如果 true
,则从较大的图集纹理中剪切纹理。参阅 region_rect。
- bool region_filter_clip
Default |
|
Setter | set_region_filter_clip(value) |
Getter | is_region_filter_clip_enabled() |
如果 true
,最外面的像素会变得模糊。
- Rect2 region_rect
Default |
|
Setter | set_region_rect(value) |
Getter | get_region_rect() |
要显示的图集纹理区域。 region_enabled 必须是 true
。
- Texture texture
Setter | set_texture(value) |
Getter | get_texture() |
Texture 要绘制的对象。
- int vframes
Default |
|
Setter | set_vframes(value) |
Getter | get_vframes() |
精灵表中的行数。
方法说明
- Rect2 get_rect ( ) const
返回 Rect2 表示局部坐标中 Sprite 的边界。可用于检测 Sprite 是否被点击。例子:
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("点击!")
如果给定位置的像素不透明,则返回 true
,其他情况下返回 false
。
注意:如果精灵的纹理为null
或者给定的位置无效,它也会返回false
。