This commit is contained in:
Jonas Braus
2024-08-03 16:21:26 +02:00
parent 2242369738
commit 6860fda89c
19 changed files with 8106 additions and 49 deletions
+10 -1
View File
@@ -5,7 +5,7 @@ extends Area2D
@onready var player = %player
@onready var audio_stream_player = $AudioStreamPlayer
@onready var music = %Music
@export var level_score : int
func _on_body_entered(body):
animation_player.play("change_scene")
@@ -13,5 +13,14 @@ func _on_body_entered(body):
music.stop()
func load_new_scene():
var config = ConfigFile.new()
var err = config.load("user://config.cfg")
if err == OK:
var available_level = config.get_value("level", "available_level", 0)
level_score = level_score if level_score > available_level else available_level
config.set_value("level", "available_level", level_score)
config.save("user://config.cfg")
get_tree().change_scene_to_file("res://scenes/levels/" + load_level + ".tscn")
+11 -6
View File
@@ -1,15 +1,20 @@
extends CanvasLayer
@onready var buttons = [$Control/Button_1, $Control/Button_2, $Control/Button_3]
var available_level = 0
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
var config = ConfigFile.new()
var err = config.load("user://config.cfg")
if err == OK:
available_level = config.get_value("level", "available_level", 1)
else:
available_level = 1
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
for i in range(0, available_level):
if i < len(buttons):
buttons[i].disabled = false
func _on_button_pressed(extra_arg_0):
get_tree().change_scene_to_file("res://scenes/levels/level_"+ extra_arg_0 +".tscn")
+2 -2
View File
@@ -27,10 +27,10 @@ func _physics_process(delta):
if ray_cast_left_2 == null:
return
if ray_cast_left.is_colliding() or ray_cast_left_2.is_colliding():
if (ray_cast_left.is_colliding() or ray_cast_left_2.is_colliding()) and not is_down:
speed = abs(speed)
animated_sprite_2d.flip_h = true
elif ray_cast_right.is_colliding() or ray_cast_right_2.is_colliding():
elif (ray_cast_right.is_colliding() or ray_cast_right_2.is_colliding()) and not is_down:
speed = -abs(speed)
animated_sprite_2d.flip_h = false
+9 -1
View File
@@ -12,6 +12,7 @@ extends CharacterBody2D
@onready var shrink_sound = $shrinkSound
@onready var die_player = $diePlayer
@onready var music = %Music
@onready var timer_fire = $timer_fire
const SPEED = 130.0
@@ -36,6 +37,7 @@ var crawl = false
var fire = false
var toucht_velocity = Vector2.ZERO
var t_velocity = 0
var can_fire = 0
@export var fireball_prefab : PackedScene
@@ -101,7 +103,8 @@ func _physics_process(delta):
velocity.y = JUMPt_velocity
# check fireball
if is_flower and (Input.is_action_just_pressed("flower") or fire):
if is_flower and (Input.is_action_just_pressed("flower") or fire) and can_fire < 2:
can_fire += 1
fire = false
var instance = fireball_prefab.instantiate()
get_parent().add_child(instance)
@@ -110,6 +113,7 @@ func _physics_process(delta):
instance.linear_velocity.x = -200 if animated_sprite_2d.flip_h else 200
instance.linear_velocity.y = 50
instance.angular_velocity = 0
timer_fire.start()
# get input
@@ -216,3 +220,7 @@ func _on_pipe_timer_timeout():
func _on_pipe_timer_half_timeout():
position = pipe_target
func _on_timer_fire_timeout():
can_fire = 0