extends KinematicBody
#VARIAVEIS###################################################
##############################################################
##############################################################
var velocidade := Vector3.ZERO
var corrida := 10
var pulo := 10
var gravidade :=Vector3.DOWN * 12
var mouse_rotation := 0.05
var is_jumping := false
#MOUSE###################################################
##############################################################
##############################################################
func _unhandled_input(event: InputEvent) -> void:
if event is InputEventMouseMotion:
rotate_y(-lerp(0, mouse_rotation, event.relative.x / 10))
#GRAVIDADE###################################################
##############################################################
##############################################################
func _physics_process(delta: float)-> void:
velocidade += gravidade * delta
if is_jumping:
velocidade.y += velocidade.y
get_input()
velocidade = move_and_slide(velocidade, Vector3.UP, true)
#CONTROLE DO TECLADO###################################################
##############################################################
##############################################################
func get_input():
var velocidade_y = velocidade.y
velocidade = Vector3.ZERO
if Input.is_action_pressed("cima"):
velocidade += -transform.basis.z * corrida
if Input.is_action_pressed("baixo"):
velocidade += +transform.basis.z * corrida
if Input.is_action_pressed("esquerda"):
velocidade += -transform.basis.x * corrida
if Input.is_action_pressed("direita"):
velocidade += +transform.basis.x * corrida
velocidade.y = velocidade_y
#fazendo ele pular
if Input.is_action_just_pressed('pulo') and is_on_floor():
velocidade.y=pulo