xiandie/scene/effect/dizzy_shader.gd
2025-07-02 02:02:22 +08:00

23 lines
518 B
GDScript

extends CanvasLayer
@onready var rect = $ColorRect as ColorRect
func _ready() -> void:
rect.material.set("shader_parameter/intensity", 0.0)
var tween: Tween
func dizzy(duration := 3.5, intensity := 1.5):
if duration < 0.6:
return
if tween and tween.is_valid():
tween.kill()
show()
tween = create_tween()
tween.tween_property(rect.material, "shader_parameter/intensity", intensity, 0.3)
tween.tween_interval(duration - 0.6)
tween.tween_property(rect.material, "shader_parameter/intensity", 0.0, 0.3)