Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends KinematicBody
- var sensitivity = 0.1
- var speed = 10
- var is_jump = false
- var jump_time = 0
- var is_fly = false
- func _ready():
- Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
- func _process(delta):
- var jump_var = 100
- var move_vector = Vector3.ZERO
- if(!is_on_floor()):
- if(!is_fly):
- move_and_slide(Vector3(0,-2,0)*10, Vector3(0,1,0))
- if Input.is_action_just_pressed("jump"):
- if(is_on_floor()):
- jump_time = 5
- is_jump = true
- if is_jump:
- move_and_slide(Vector3(0,1,0)*50)
- jump_time -= 1
- if (jump_time <= 0):
- is_jump = false
- if Input.is_action_pressed("fly"):
- move_vector.y += 1
- is_fly = true
- if Input.is_action_just_released("fly"):
- is_fly = false
- if Input.is_action_pressed("forward"):
- move_vector.z -= 1
- if Input.is_action_pressed("back"):
- move_vector.z += 1
- if Input.is_action_pressed("left"):
- move_vector.x -= 1
- if Input.is_action_pressed("right"):
- move_vector.x += 1
- if move_vector.length() > 1:
- move_vector = move_vector.normalized()
- if move_vector != Vector3.ZERO:
- var move_direction = global_transform.basis.xform(move_vector)
- move_and_slide(move_direction * speed)
- func _input(event):
- if event is InputEventMouseMotion:
- rotation_degrees.y -= event.relative.x * sensitivity
- rotation_degrees.x -= event.relative.y * sensitivity
- rotation_degrees.x = clamp(rotation_degrees.x, -89, 89)
- # https://godotengine.org/asset-library/asset/533
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement