-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbase.gd
More file actions
94 lines (73 loc) · 2.47 KB
/
Copy pathbase.gd
File metadata and controls
94 lines (73 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
extends Node2D
var seconds = 0 setget update_counter
var of = 0
onready var blanks = $scroll/blanks
onready var counter_label = $ui/Control/amount
onready var scroll = $scroll
onready var pianoaudio = $pianoaudio
var state = "play"
onready var ofamount = $ui/Control/of
onready var ofparticle = $ui/Control/Particle
onready var player = $player
onready var startpos = $startpos
onready var audiotween = $audiotween
onready var backaudio = $back
onready var fade = $fade/fade
var curpiano = -1
var audios = [preload("res://audio/part1.wav"), preload("res://audio/part2.wav"), preload("res://audio/part3.wav"), preload("res://audio/part4.wav"), preload("res://audio/part5.wav")]
var colors = ["#ff8484", "#fee086", "#c4ffb6", "#4887ff", "#986eff"]
onready var particles = $scroll/Particles2D
onready var endingaudio = $ending
onready var cutscenes = $cutscenes
onready var notesound = $notesound
var rng = RandomNumberGenerator.new()
var notesounds = [preload("res://audio/pickup/1.wav"), preload("res://audio/pickup/2.wav"), preload("res://audio/pickup/3.wav"), preload("res://audio/pickup/4.wav")]
# Called when the node enters the scene tree for the first time.
func _ready():
rng.randomize()
ofparticle.modulate = colors[curpiano + 1]
player.global_position = startpos.global_position
scroll.visible = false
cutscenes.open_cutscene()
state = "listen"
func _input(event):
if Input.is_action_pressed("a"):
update_counter(10)
update_of(10)
player.global_position.x += 500
func update_counter(new):
seconds = new
counter_label.text = str(new)
update_of(of + 1)
func update_of(val):
ofamount.text = str(val) + "/10 of"
of = val
func open_scroll():
scroll.visible = true
state = "scroll"
curpiano += 1
audiotween.interpolate_property(backaudio, "volume_db", -7, -50, 2, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
audiotween.start()
yield(audiotween, "tween_completed")
backaudio.playing = false
func finish_scroll():
state = "listen"
pianoaudio.stream = audios[curpiano]
pianoaudio.play()
yield(pianoaudio, "finished")
if curpiano == 4:
endingaudio.play()
cutscenes.end_cutscene()
else:
scroll.visible = false
particles.visible = false
state = "play"
of = 0
update_of(0)
ofparticle.modulate = colors[curpiano + 1]
backaudio.playing = true
audiotween.interpolate_property(backaudio, "volume_db", -50, -7, 2, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
audiotween.start()
func play_note_sound():
notesound.stream = notesounds[rng.randi_range(0, 3)]
notesound.play()