sunoku/scenes/player/player.gd
2025-04-26 13:36:09 -07:00

61 lines
1.3 KiB
GDScript

extends CharacterBody2D
var base_speed = 100
var speed
var bullet_speed
var ammunition
var damage
var incoming_damage
var bullet_delay
var size = 100
var tax
var remaining_bullets = 100
var bullet_timer = 0
@onready var sprite = $CollisionShape2D/Sprite2D
@onready var collision = $CollisionShape2D
@export var inventory : Control
@export var bullet_scene : PackedScene
func _physics_process(delta):
bullet_timer -= delta
velocity = Vector2(0,0)
if Input.is_action_pressed("left"):
velocity.x += -1
if Input.is_action_pressed("right"):
velocity.x += 1
if Input.is_action_pressed("up"):
velocity.y += -1
if Input.is_action_pressed("down"):
velocity.y += 1
if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT):
spawn_bullet()
velocity = velocity.normalized() * speed*base_speed*delta
move_and_slide()
sprite.global_position = Vector2i(global_position)
collision.scale = Vector2(0.3,0.3)*(pow(size,0.2))
func reload():
pass
func spawn_bullet():
if bullet_timer > 0: return
var new_bullet = bullet_scene.instantiate()
new_bullet.direction = global_position.direction_to(get_global_mouse_position())
new_bullet.position = position
new_bullet.speed = sqrt(bullet_speed)
get_tree().root.add_child(new_bullet)
bullet_timer = 0.1*pow(bullet_delay,0.4)