dynamic jumping height
This commit is contained in:
parent
aafe5e0a38
commit
1f85d59975
1 changed files with 30 additions and 9 deletions
|
@ -7,10 +7,15 @@ var SPEED_CROUCHED: float = 1
|
||||||
var SPEED_RUNNING: float = 4
|
var SPEED_RUNNING: float = 4
|
||||||
var SPEED_CROUCH_RUN: float = 2
|
var SPEED_CROUCH_RUN: float = 2
|
||||||
|
|
||||||
|
var JUMP_HEIGHT_BASE: float = 0.6
|
||||||
|
var JUMP_HEIGHT_CROUCHED: float = 0.2
|
||||||
|
var JUMP_HEIGHT_RUNNING: float = 0.8
|
||||||
|
var JUMP_HEIGHT_CROUCH_RUN: float = 0.4
|
||||||
|
|
||||||
var speed: float = SPEED_BASE # m/s
|
var speed: float = SPEED_BASE # m/s
|
||||||
var acceleration: float = 100 # m/s^2
|
var acceleration: float = 100 # m/s^2
|
||||||
|
|
||||||
var jump_height: float = 1 # m
|
var jump_height: float = JUMP_HEIGHT_BASE # m
|
||||||
var camera_sens: float = 3
|
var camera_sens: float = 3
|
||||||
|
|
||||||
var interact: bool = true
|
var interact: bool = true
|
||||||
|
@ -64,22 +69,38 @@ func _physics_process(delta: float) -> void:
|
||||||
elif Input.is_action_just_pressed(&"freeroam_crouch"):
|
elif Input.is_action_just_pressed(&"freeroam_crouch"):
|
||||||
$CShape.shape.height = 1.0
|
$CShape.shape.height = 1.0
|
||||||
$Camera.position.y = 1.0
|
$Camera.position.y = 1.0
|
||||||
if (running): speed = SPEED_CROUCH_RUN
|
if (running):
|
||||||
else: speed = SPEED_CROUCHED
|
speed = SPEED_CROUCH_RUN
|
||||||
|
jump_height = JUMP_HEIGHT_CROUCH_RUN
|
||||||
|
else:
|
||||||
|
speed = SPEED_CROUCHED
|
||||||
|
jump_height = JUMP_HEIGHT_CROUCHED
|
||||||
crouched = true
|
crouched = true
|
||||||
elif Input.is_action_just_released(&"freeroam_crouch"):
|
elif Input.is_action_just_released(&"freeroam_crouch"):
|
||||||
$CShape.shape.height = 1.8
|
$CShape.shape.height = 1.8
|
||||||
$Camera.position.y = 1.7
|
$Camera.position.y = 1.7
|
||||||
if (running): speed = SPEED_RUNNING
|
if (running):
|
||||||
else: speed = SPEED_BASE
|
speed = SPEED_RUNNING
|
||||||
|
jump_height = JUMP_HEIGHT_RUNNING
|
||||||
|
else:
|
||||||
|
speed = SPEED_BASE
|
||||||
|
jump_height = JUMP_HEIGHT_BASE
|
||||||
crouched = false
|
crouched = false
|
||||||
elif Input.is_action_just_pressed(&"freeroam_run"):
|
elif Input.is_action_just_pressed(&"freeroam_run"):
|
||||||
if (crouched): speed = SPEED_CROUCH_RUN
|
if (crouched):
|
||||||
else: speed = SPEED_RUNNING
|
speed = SPEED_CROUCH_RUN
|
||||||
|
jump_height = JUMP_HEIGHT_CROUCH_RUN
|
||||||
|
else:
|
||||||
|
speed = SPEED_RUNNING
|
||||||
|
jump_height = JUMP_HEIGHT_RUNNING
|
||||||
running = true
|
running = true
|
||||||
elif Input.is_action_just_released(&"freeroam_run"):
|
elif Input.is_action_just_released(&"freeroam_run"):
|
||||||
if (crouched): speed = SPEED_CROUCHED
|
if (crouched):
|
||||||
else: speed = SPEED_BASE
|
speed = SPEED_CROUCHED
|
||||||
|
jump_height = JUMP_HEIGHT_CROUCHED
|
||||||
|
else:
|
||||||
|
speed = SPEED_BASE
|
||||||
|
jump_height = JUMP_HEIGHT_BASE
|
||||||
running = false
|
running = false
|
||||||
elif Input.is_action_just_pressed(&"freeroam_toggle_flashlight"):
|
elif Input.is_action_just_pressed(&"freeroam_toggle_flashlight"):
|
||||||
$Camera/Flashlight.visible = !$Camera/Flashlight.visible
|
$Camera/Flashlight.visible = !$Camera/Flashlight.visible
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue