summaryrefslogtreecommitdiff
path: root/demos/2d/space_shooter/ship.gd
diff options
context:
space:
mode:
Diffstat (limited to 'demos/2d/space_shooter/ship.gd')
-rw-r--r--demos/2d/space_shooter/ship.gd81
1 files changed, 0 insertions, 81 deletions
diff --git a/demos/2d/space_shooter/ship.gd b/demos/2d/space_shooter/ship.gd
deleted file mode 100644
index 0bc9ca6b13..0000000000
--- a/demos/2d/space_shooter/ship.gd
+++ /dev/null
@@ -1,81 +0,0 @@
-
-extends Area2D
-
-# Member variables
-const SPEED = 200
-
-var screen_size
-var prev_shooting = false
-var killed = false
-
-
-func _process(delta):
- var motion = Vector2()
- if Input.is_action_pressed("move_up"):
- motion += Vector2(0, -1)
- if Input.is_action_pressed("move_down"):
- motion += Vector2(0, 1)
- if Input.is_action_pressed("move_left"):
- motion += Vector2(-1, 0)
- if Input.is_action_pressed("move_right"):
- motion += Vector2(1, 0)
- var shooting = Input.is_action_pressed("shoot")
-
- var pos = get_pos()
-
- pos += motion*delta*SPEED
- if (pos.x < 0):
- pos.x = 0
- if (pos.x > screen_size.x):
- pos.x = screen_size.x
- if (pos.y < 0):
- pos.y = 0
- if (pos.y > screen_size.y):
- pos.y = screen_size.y
-
- set_pos(pos)
-
- if (shooting and not prev_shooting):
- # Just pressed
- var shot = preload("res://shot.tscn").instance()
- # Use the Position2D as reference
- shot.set_pos(get_node("shootfrom").get_global_pos())
- # Put it two parents above, so it is not moved by us
- get_node("../..").add_child(shot)
- # Play sound
- get_node("sfx").play("shoot")
-
- prev_shooting = shooting
-
- # Update points counter
- get_node("../hud/score_points").set_text(str(get_node("/root/game_state").points))
-
-
-func _ready():
- screen_size = get_viewport().get_rect().size
- set_process(true)
-
-
-func _hit_something():
- if (killed):
- return
- killed = true
- get_node("anim").play("explode")
- get_node("sfx").play("sound_explode")
- get_node("../hud/game_over").show()
- get_node("/root/game_state").game_over()
- get_parent().stop()
- set_process(false)
-
-
-func _on_ship_body_enter(body):
- _hit_something()
-
-
-func _on_ship_area_enter(area):
- if (area.has_method("is_enemy") and area.is_enemy()):
- _hit_something()
-
-
-func _on_back_to_menu_pressed():
- get_tree().change_scene("res://main_menu.tscn")