37 lines
760 B
GDScript3
37 lines
760 B
GDScript3
|
|
||
|
extends KinematicBody2D
|
||
|
|
||
|
# This is a simple collision demo showing how
|
||
|
# the kinematic cotroller works.
|
||
|
# move() will allow to move the node, and will
|
||
|
# always move it to a non-colliding spot,
|
||
|
# as long as it starts from a non-colliding spot too.
|
||
|
|
||
|
|
||
|
#pixels / second
|
||
|
const MOTION_SPEED=160
|
||
|
|
||
|
func _fixed_process(delta):
|
||
|
|
||
|
var motion = Vector2()
|
||
|
|
||
|
if (Input.is_action_pressed("move_up")):
|
||
|
motion+=Vector2(0,-1)
|
||
|
if (Input.is_action_pressed("move_bottom")):
|
||
|
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)
|
||
|
|
||
|
motion = motion.normalized() * MOTION_SPEED * delta
|
||
|
move(motion)
|
||
|
|
||
|
|
||
|
func _ready():
|
||
|
# Initalization here
|
||
|
set_fixed_process(true)
|
||
|
pass
|
||
|
|
||
|
|