Initial files

This commit is contained in:
Jan Groß
2017-11-12 16:56:20 +01:00
commit 509eeffe1e
56 changed files with 1655 additions and 0 deletions

40
scripts/asteroid.gd Normal file
View File

@@ -0,0 +1,40 @@
extends KinematicBody2D
var explosion = preload("res://scenes/explosion.tscn")
var velocity = Vector2()
export var speed_min = 10
export var speed_max = 50
func _ready():
randomize()
var rand_x = rand_range(0, get_viewport_rect().size.width)
set_global_pos(Vector2(rand_x, rand_range(-5, -60))) #random offset for easy "random timing"
rand_x = rand_range(0, get_viewport_rect().size.width)
var target = Vector2(rand_x, get_viewport_rect().size.height)
set_rot(get_global_pos().angle_to_point(target)+deg2rad(180))
velocity = Vector2(0, rand_range(speed_min, speed_max))
get_node("Sprite").set_rotd(rand_range(0,360))
set_process(true)
func _process(delta):
move(velocity.rotated(get_rot())*delta)
check_bounds()
func check_bounds():
if get_pos().y > get_viewport_rect().size.y - 5:
print("Asteroid out of bounds")
game_manager.get_node_from_root("Node/Base").damage(10)
destroy()
func destroy():
get_node("CollisionArea").queue_free()
game_manager.remove_asteroid()
var new_explosion = explosion.instance()
new_explosion.set_pos(get_pos())
game_manager.get_node_from_root("Node").add_child(new_explosion)
queue_free()
func on_rocket_hit():
destroy()