Level Final

mail@pastecode.io avatar
unknown
plain_text
2 years ago
1.1 kB
39
Indexable
Never
extends Node2D

var score = 0
var lives = 3

onready var player = $Paddle

export var ball:PackedScene
export var gameover:PackedScene
export var next_level:PackedScene

func _ready():
	score = Global.score
	lives = Global.lives
	$GameLabel/Score.text = "SCORE: "+str(score)
	$GameLabel/Lives.text = "LIVES: "+str(lives)
	
func _on_Area2D_body_entered(body):
	if body is RigidBody2D:
		lives -= 1
		$GameLabel/Lives.text = "LIVES: "+str(lives)
		var ballx = ball.instance()
		ballx.connect("body_entered",self,"_on_Ball_body_entered")
		ballx.contact_monitor = true
		ballx.contacts_reported = 3
		add_child(ballx)
		if player !=null:
			ballx.global_position = player.get_node("Sprite").global_position + Vector2(0,-30)
		body.queue_free()
		if lives==0:
			get_tree().change_scene_to(gameover)

func _on_Ball_body_entered(body):
	if body.is_in_group("brick"):
		body.remove_brick()
		score += 5
		$GameLabel/Score.text = "SCORE: "+str(score)
		if get_tree().get_nodes_in_group("brick").size() == 0:
			Global.score = score
			Global.lives = lives
			get_tree().change_scene_to(next_level)