58 lines
1.6 KiB
GDScript
58 lines
1.6 KiB
GDScript
extends CanvasLayer
|
|
|
|
@warning_ignore("unused_signal")
|
|
signal exit(arg)
|
|
|
|
@onready var light = %"PointLight2D" as PointLight2D
|
|
@onready var light_sprite = %"光线" as AnimatedSprite2D
|
|
@onready var sitting_sprite = %"小蝉坐着" as Sprite2D
|
|
@onready var facing_sprite = %"小蝉特写" as AnimatedSprite2D
|
|
@onready var serious_sprite = %"嘴不笑" as Sprite2D
|
|
@onready var blink_sprite = %"眨眼" as AnimatedSprite2D
|
|
@onready var holding_balls_sprite = %"手拿弹珠" as AnimatedSprite2D
|
|
|
|
|
|
func _ready() -> void:
|
|
layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME
|
|
facing_sprite.hide()
|
|
holding_balls_sprite.show()
|
|
serious_sprite.show()
|
|
blink_sprite.hide()
|
|
# 更新光
|
|
light_sprite.frame_changed.connect(_on_light_frame_changed)
|
|
_start_show()
|
|
|
|
|
|
func _start_show() -> void:
|
|
var tween = create_tween()
|
|
tween.tween_interval(2.0)
|
|
tween.tween_property(holding_balls_sprite, "modulate:a", 0.0, 1.0)
|
|
tween.tween_interval(2.0)
|
|
tween.tween_callback(_watch_back)
|
|
tween.tween_interval(2.0)
|
|
tween.tween_callback(_smile)
|
|
|
|
|
|
func _on_light_frame_changed() -> void:
|
|
light.texture = light_sprite.sprite_frames.get_frame_texture(light_sprite.animation, light_sprite.frame)
|
|
|
|
|
|
func _watch_back() -> void:
|
|
facing_sprite.show()
|
|
facing_sprite.modulate.a = 0
|
|
var tween = create_tween()
|
|
tween.tween_property(sitting_sprite, "modulate:a", 0.0, 0.3)
|
|
tween.parallel().tween_property(facing_sprite, "modulate:a", 1.0, 0.3)
|
|
|
|
|
|
func _smile() -> void:
|
|
var tween = create_tween()
|
|
tween.tween_property(serious_sprite, "modulate:a", 0.0, 0.3)
|
|
|
|
# editor created
|
|
func _on_timer_blink_timeout() -> void:
|
|
blink_sprite.show()
|
|
blink_sprite.play()
|
|
await blink_sprite.animation_finished
|
|
blink_sprite.hide()
|