/
Level3.gd
76 lines (52 loc) · 1.75 KB
/
Level3.gd
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
extends Spatial
var chunk1_scn = preload("res://Chunk1.tscn")
var score_scn = preload("res://Score.tscn")
var spawn_z = 3
var last_chunk
var score = 0
onready var chunks = $chunks
onready var score_label = $CanvasLayer/ScoreLabel
# Called when the node enters the scene tree for the first time.
func _ready():
$AudioStreamPlayer.play()
score = 0
var _r = $Player.connect("player_killed", self, "_player_killed")
var _r1 = $Player.connect("restart_requested", self, "_restart_requested")
var _r2 = $Player.connect("player_got_coin", self, "_player_got_coin")
for _n in range(3):
add_chunk(0)
for _n in range(7):
add_chunk(1)
func chunk_removed():
# score += 1
add_chunk(1)
func add_chunk(obstacle_intensity):
var inst = chunk1_scn.instance()
inst.obstacle_intensity = obstacle_intensity
inst.translation.z = last_chunk.translation.z - 6 if last_chunk != null else spawn_z
inst.connect("tree_exited", self, "chunk_removed")
last_chunk = inst
# chunks.add_child(inst)
chunks.call_deferred("add_child", inst)
func _player_killed():
for c in chunks.get_children():
c.velocity = 0
$AudioStreamPlayer.stop()
$AudioStreamPlayerGameOver.play()
# MyFileManager.save_new_entry('zxc', score)
yield(get_tree().create_timer(1.5), "timeout")
var score_inst = score_scn.instance()
score_inst.new_score = score
add_child(score_inst)
func _player_got_coin():
score += 1
func _restart_requested():
# var _r = get_tree().reload_current_scene()
Global.goto_scene("res://Level3.tscn")
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
score_label.text = str(score)
pass
func _input(event):
if event is InputEventKey and event.scancode == KEY_ESCAPE and event.pressed == false:
get_tree().quit()