added SprintoMeter

This commit is contained in:
SyntaX 2019-11-23 19:35:04 +01:00
parent 4985642acb
commit daec7a7238
2 changed files with 27 additions and 5 deletions

View File

@ -15,15 +15,19 @@ const ACCEL = 15.0
const MAX_SLOPE_ANGLE = 40 const MAX_SLOPE_ANGLE = 40
const MOUSE_SENSITIVITY = 0.05 const MOUSE_SENSITIVITY = 0.05
const INTERACT_DISTANCE = 4 const INTERACT_DISTANCE = 4
const SPRINT_DEC = 0.015;
const SPRINT_ACC = 0.0015;
# private members # private members
var _body: Spatial var _body: Spatial
var _camera: Camera var _camera: Camera
var _animation: AnimationPlayer var _animation: AnimationPlayer
var _interface: Control var _interface: Control
var _dir = Vector3(); var _sprintometer: ProgressBar
var _vel = Vector3(); var _dir = Vector3()
var _is_sprinting; var _vel = Vector3()
var _is_sprinting
var _sprintVal: float = 100
func _ready(): func _ready():
@ -40,6 +44,9 @@ func _ready():
_interface = get_node(ui_nodepath) as Control _interface = get_node(ui_nodepath) as Control
assert(null != _interface) assert(null != _interface)
_sprintometer = _interface.get_node("ProgressBar")
assert(null != _sprintometer)
# Setup mouse look # Setup mouse look
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
@ -48,10 +55,15 @@ func _physics_process(delta):
_process_input() _process_input()
_process_movement(delta) _process_movement(delta)
_process_collision() _process_collision()
#Logger.info("sprintVal: " + String(_sprintVal))
func _process(_delta): func _process(delta):
_process_animations() _process_animations()
if _is_sprinting and _sprintVal > 0:
_sprintVal -= SPRINT_DEC / delta
elif _sprintVal < 100:
_sprintVal += SPRINT_ACC / delta
func _process_input(): func _process_input():
@ -81,7 +93,7 @@ func _process_input():
_vel.y = JUMP_SPEED _vel.y = JUMP_SPEED
# sprinting # sprinting
_is_sprinting = Input.is_action_pressed("move_sprint") _is_sprinting = Input.is_action_pressed("move_sprint") and _sprintVal > SPRINT_DEC
func _process_movement(delta): func _process_movement(delta):
@ -99,6 +111,8 @@ func _process_movement(delta):
func _process_animations(): func _process_animations():
_animation.playback_speed = _vel.length() / MOVE_SPEED _animation.playback_speed = _vel.length() / MOVE_SPEED
_sprintometer.value = _sprintVal
func _process_collision(): func _process_collision():

View File

@ -128,4 +128,12 @@ margin_top = 144.902
margin_right = 179.505 margin_right = 179.505
margin_bottom = 181.902 margin_bottom = 181.902
text = "play again" text = "play again"
[node name="ProgressBar" type="ProgressBar" parent="HUD"]
margin_left = 410.651
margin_top = 560.551
margin_right = 614.651
margin_bottom = 582.551
step = 1.0
value = 100.0
[connection signal="pressed" from="HUD/PopupWon/Button" to="HUD" method="_on_Button_pressed"] [connection signal="pressed" from="HUD/PopupWon/Button" to="HUD" method="_on_Button_pressed"]