ape-ame/riangle_spawner.gd

30 lines
837 B
GDScript3
Raw Normal View History

2024-04-24 15:20:36 -04:00
extends Node2D
2024-04-26 16:32:56 -04:00
var riangle = preload("res://riangle-tar.tscn")
2024-04-24 15:20:36 -04:00
func spawn():
var tween = get_tree().create_tween()
tween.set_parallel(true)
tween.set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
for zone in get_children():
var node = riangle.instantiate()
zone.add_child(node)
node.global_rotation = zone.global_rotation
node.global_position = global_position
2024-04-26 16:32:56 -04:00
tween.tween_property(node, "position", Vector2.ZERO, 0.5)
2024-04-25 15:27:00 -04:00
func eject():
for spawner in get_children():
var riangle = spawner.get_child(0)
2024-04-29 16:27:25 -04:00
if riangle == null:
return
2024-04-30 15:37:00 -04:00
riangle.freeze = false
riangle.apply_central_impulse(Vector2(500, randi_range(-100, 100)).rotated(spawner.rotation))
2024-04-29 16:27:25 -04:00
await get_tree().create_timer(0.05).timeout
2024-04-30 15:37:00 -04:00
if riangle == null:
return
2024-04-29 16:27:25 -04:00
riangle.reparent($/root/Node2D)
2024-04-25 15:27:00 -04:00
2024-04-29 16:27:25 -04:00
await get_tree().create_timer(0.1).timeout