ld-39-jam/Player.gd

68 lines
1.7 KiB
GDScript3
Raw Normal View History

2017-07-29 15:49:55 +01:00
extends Node2D
var mov_direction = Vector2(1, 0)
var mov_speed = 128 # pixels per second
var cur_frame = 0
var cur_time_per_frame = 0.1
var cur_time = 0
var cur_moving = true
onready var sprite = get_node("Sprite")
func _ready():
set_fixed_process(true)
func _fixed_process(delta):
var mov_delta = Vector2(0, 0)
var mov_direction = Vector2(1, 0)
# move towards mouse
mov_direction = (get_viewport().get_mouse_pos() - get_global_pos()).normalized()
if Input.is_action_pressed("player_move_forwards") or Input.is_action_pressed("player_move_backwards") or Input.is_action_pressed("player_move_left") or Input.is_action_pressed("player_move_right"):
if Input.is_action_pressed("player_move_forwards"):
mov_delta.y -= 1 * (mov_speed * delta)
# mov_delta = mov_direction * (mov_speed * delta)
cur_moving = true
elif Input.is_action_pressed("player_move_backwards"):
# mov_delta = (-mov_direction) * (mov_speed * delta)
mov_delta.y += 1 * (mov_speed * delta)
cur_moving = true
if Input.is_action_pressed("player_move_left"):
mov_delta.x -= 1 * (mov_speed * delta)
cur_moving = true
elif Input.is_action_pressed("player_move_right"):
mov_delta.x += 1 * (mov_speed * delta)
cur_moving = true
else:
cur_moving = false
if Input.is_action_pressed("player_attack"):
pass
cur_time = cur_time + delta
if cur_moving and cur_frame != 6:
if cur_time > cur_time_per_frame:
cur_frame += 1
cur_time = 0
else:
if cur_moving:
cur_frame = 1
else:
cur_frame = 0
# set frame shit
sprite.set_frame(cur_frame)
sprite.set_rot(sprite.get_global_pos().angle_to_point(get_viewport().get_mouse_pos()))
# do teh moves
move_local_x(mov_delta.x)
move_local_y(mov_delta.y)
func _process(delta):
pass