This repository has been archived on 2023-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
Boups/Characters/Villain.gd

45 lines
1.1 KiB
GDScript3
Raw Normal View History

2023-02-25 01:04:08 +01:00
extends Node2D
onready var me = $AnimatedSprite
onready var timer
2023-02-25 14:02:57 +01:00
var limit_random
var rng = RandomNumberGenerator.new()
onready var button = $"../Button/"
2023-02-25 01:04:08 +01:00
2023-02-25 17:29:51 +01:00
# True if animation should change
var next = false
2023-02-25 01:04:08 +01:00
# Called when the node enters the scene tree for the first time.
func _ready():
timer = 0
rng.randomize()
limit_random = rng.randi_range(2, 10)
2023-02-25 17:29:51 +01:00
me.play("orange")
2023-02-25 01:04:08 +01:00
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
timer += delta
2023-02-25 17:29:51 +01:00
var animations = ["orange", "red"]
var max_frame = me.frames.get_frame_count(me.animation) - 1
var current_anim_idx = animations.find(me.animation)
if current_anim_idx >= animations.size() - 1:
# Last animation reached
2023-02-25 17:32:20 +01:00
check_next_animframe(max_frame, animations[0])
2023-02-25 17:29:51 +01:00
else:
2023-02-25 17:32:20 +01:00
check_next_animframe(max_frame, animations[current_anim_idx + 1])
2023-02-25 17:29:51 +01:00
# Jump to next animation at the end of the current one
2023-02-25 17:32:20 +01:00
func check_next_animframe(max_frame, next_animation):
2023-02-25 17:29:51 +01:00
if me.frame == 0 and next:
me.play(next_animation)
next = false
if max_frame == me.frame:
# Last frame of animation reached
next = true