「Godot」精灵堆叠

  • 使用堆叠技术让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
  • 效果

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注