- 使用堆叠技术让2D精灵呈现3D效果
- 图片形式,按照高度来绘制,一层一层
- 例如:汽车

- 创建Sprite2D节点,拖入此图片

- 节点上创建脚本
GDScript
extends Sprite2D
func _ready() -> void:
sprite_stacked()
func _process(delta: float) -> void:
rotate_stacked(delta)
# 精灵堆叠
func sprite_stacked() -> void:
self_modulate.a = 0
var length = hframes
for i in length:
var top_sprite = Sprite2D.new()
top_sprite.texture = texture
top_sprite.hframes = hframes
top_sprite.frame = i
top_sprite.position = Vector2(top_sprite.position.x, -i)
add_child(top_sprite)
# 旋转
func rotate_stacked(delta: float) -> void:
for child in get_children():
var child_sprite: Sprite2D = child as Sprite2D
child_sprite.rotation += delta
- 效果


