Hola Visitante

Godot 3D, Un personaje simple

  • 0 Respuestas
  • 58 Vistas
*

bizarman

  • *
  • 15
  • +3/-0
    • Ver Perfil
Godot 3D, Un personaje simple
« en: 31 de Mayo del 2019, 20:57 »

No hace uso del motor de física que trae Godot, esto puede ser útil para ahorrar recursos de la máquina.
Gira, se mueve adelante, se mueve para atrás, gira mientras se mueve, salta, se mueve mientras salta.
Godot 3.1.



Código: [Seleccionar]


extends KinematicBody


var velocidad_caminar = 300
var velocidad_giro = deg2rad(30)
var velocidad_salto = 600
var gravedad = -9.8
var giro = 0
var saltando = false


var direccion = Vector3()
func _physics_process(delta):
direccion.x = 0
direccion.z = 0

if Input.is_action_just_pressed("ui_select") and is_on_floor():
saltando = true
direccion.y = velocidad_salto * delta

if Input.is_action_pressed("ui_left"):
giro += velocidad_giro * delta

if Input.is_action_pressed("ui_right"):
giro -= velocidad_giro * delta

if Input.is_action_pressed("ui_up"):
direccion.x = -velocidad_caminar * delta

if Input.is_action_pressed("ui_down"):
direccion.x = velocidad_caminar * delta

direccion.y += gravedad * delta
direccion = direccion.rotated(Vector3(0, 1, 0), giro)

set_rotation(Vector3(0, giro, 0))

direccion = move_and_slide(direccion, Vector3(0, 1, 0))

if saltando and is_on_floor():
saltando = false

« Última modificación: 31 de Mayo del 2019, 21:10 por bizarman »