36 lines
812 B
GDScript
36 lines
812 B
GDScript
extends Node2D
|
|
|
|
var rising = false
|
|
|
|
var growSpeed = 1.6
|
|
var riseSpeed = 80
|
|
var loiterRiseSpeed = 10
|
|
|
|
var fadeInSpeed = 1.1
|
|
|
|
var readyToLoiter = false
|
|
var loiterTimer = 1
|
|
|
|
func start_transition(itemSprite):
|
|
rising = true
|
|
%ItemSprite.texture = itemSprite
|
|
%ItemSprite.self_modulate.a = 0.1
|
|
$ItemSprite.scale = Vector2(0.1, 0.1)
|
|
|
|
func _process(delta):
|
|
if rising:
|
|
$ItemSprite.position -= Vector2(0, riseSpeed * delta)
|
|
$ItemSprite.scale += Vector2(growSpeed * delta, growSpeed * delta)
|
|
%ItemSprite.self_modulate.a += fadeInSpeed * delta
|
|
if %ItemSprite.self_modulate.a >= 1:
|
|
%ItemSprite.self_modulate.a = 1
|
|
readyToLoiter = true
|
|
rising = false
|
|
|
|
if readyToLoiter:
|
|
if loiterTimer > 0:
|
|
$ItemSprite.position -= Vector2(0, loiterRiseSpeed * delta)
|
|
loiterTimer -= delta
|
|
else:
|
|
queue_free()
|