Initial Commit

This commit is contained in:
2024-05-09 22:42:55 -04:00
parent 1bb096ba0d
commit a5e7731b47
14 changed files with 256 additions and 0 deletions

8
scripts/bullet.gd Normal file
View File

@ -0,0 +1,8 @@
extends Area2D
func _process(delta: float) -> void:
pass
func _on_life_timer_timeout() -> void:
queue_free()

26
scripts/ship.gd Normal file
View File

@ -0,0 +1,26 @@
extends Area2D
@export var max_speed := 1200.0
@export var steering_factor := 3.0
var velocity := Vector2.ZERO
func _process(delta: float) -> void:
# TODO: Maybe look into tank controls like classic Astroids
var direction := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
if direction.length() > 1.0:
direction.normalized()
var desired_velocity := max_speed * direction
var steering := desired_velocity - velocity
velocity += steering * steering_factor * delta
position += velocity * delta
if velocity.length() > 0.0:
$Sprite2D.rotation = velocity.angle()
var viewport_size := get_viewport_rect().size
position.x = wrap(position.x, 0, viewport_size.x)
position.y = wrap(position.y, 0,viewport_size.y)
func fire_gun() -> void: