55 lines
1.0 KiB
GDScript
55 lines
1.0 KiB
GDScript
extends CharacterBody2D
|
|
|
|
var frisbee = preload("res://frisbee.tscn")
|
|
|
|
var heldFrisbee :CharacterBody2D= null
|
|
|
|
var remote_player :bool= false
|
|
|
|
var move_dir :Vector2= Vector2.ZERO
|
|
var move_force :float= 500
|
|
var max_speed :float= 500
|
|
var move_friction :float= 1000
|
|
var tonic_friction :float= 100
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
pass
|
|
|
|
func set_move_direction(dir):
|
|
move_dir = dir
|
|
|
|
func move_player(delta):
|
|
velocity = max_speed * move_dir
|
|
move_and_slide()
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta):
|
|
move_player(delta)
|
|
|
|
func _input(event):
|
|
if remote_player:
|
|
pass
|
|
|
|
var direction = Input.get_vector(
|
|
"player_left",
|
|
"player_right",
|
|
"player_up",
|
|
"player_down"
|
|
)
|
|
set_move_direction(direction)
|
|
|
|
var flick = Input.get_vector(
|
|
"flick_left",
|
|
"flick_right",
|
|
"flick_up",
|
|
"flick_down"
|
|
)
|
|
|
|
var flick_rot :float= 0
|
|
if flick.length_squared() != 0:
|
|
flick_rot = flick.angle() - PI/8*3
|
|
|
|
$LeftArm.rotation = flick_rot
|
|
$RightArm.rotation = flick_rot
|