feat: 场景与核心玩法脚本(双机型/波次/Boss/道具/炸弹/地面单位/浮游炮激光)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
class_name Explosion
|
||||
extends Node2D
|
||||
## 爆炸特效:双火球缩放淡出后自动回收。
|
||||
|
||||
const TEX := preload("res://assets/svg/explosion.svg")
|
||||
|
||||
var size := 1.0
|
||||
|
||||
var _core: Sprite2D
|
||||
var _ring: Sprite2D
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_core = Sprite2D.new()
|
||||
_core.texture = TEX
|
||||
_core.scale = Vector2(0.2, 0.2) * size
|
||||
add_child(_core)
|
||||
|
||||
_ring = Sprite2D.new()
|
||||
_ring.texture = TEX
|
||||
_ring.scale = Vector2(0.55, 0.55) * size
|
||||
_ring.modulate = Color(1.0, 0.55, 0.25, 0.9)
|
||||
add_child(_ring)
|
||||
|
||||
var tween := create_tween()
|
||||
tween.set_parallel(true)
|
||||
tween.tween_property(_core, "scale", Vector2(1.5, 1.5) * size, 0.3) \
|
||||
.set_trans(Tween.TRANS_CUBIC).set_ease(Tween.EASE_OUT)
|
||||
tween.tween_property(_core, "modulate:a", 0.0, 0.38)
|
||||
tween.tween_property(_ring, "scale", Vector2(2.6, 2.6) * size, 0.42) \
|
||||
.set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
|
||||
tween.tween_property(_ring, "modulate:a", 0.0, 0.42)
|
||||
tween.chain().tween_callback(queue_free)
|
||||
Reference in New Issue
Block a user