add running and crouching
This commit is contained in:
parent
669eed3a1b
commit
0652e0d23b
@ -129,6 +129,18 @@ toggle_debug={
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":96,"key_label":0,"unicode":96,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
crouch={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
run={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[layer_names]
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="Geometry/CSGCombiner3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -50, 0)
|
||||
size = Vector3(10, 100, 10)
|
||||
size = Vector3(40, 100, 10)
|
||||
|
||||
[node name="Lights" type="Node" parent="."]
|
||||
|
||||
|
||||
@ -19,6 +19,9 @@ properties/1/replication_mode = 1
|
||||
properties/2/path = NodePath("Camera3D:rotation")
|
||||
properties/2/spawn = true
|
||||
properties/2/replication_mode = 1
|
||||
properties/3/path = NodePath("Camera3D:position")
|
||||
properties/3/spawn = true
|
||||
properties/3/replication_mode = 1
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
collision_layer = 2
|
||||
|
||||
@ -2,6 +2,8 @@ class_name Player
|
||||
extends CharacterBody3D
|
||||
|
||||
const MOVE_SPEED: float = 5
|
||||
const RUN_SPEED: float = 10
|
||||
const CROUCH_SPEED: float = 1
|
||||
const MOVE_ACCELERATION: float = 50
|
||||
const MOVE_DECELERATION: float = 25
|
||||
|
||||
@ -126,7 +128,15 @@ func _lateral_movement(delta: float) -> void:
|
||||
var direction := (
|
||||
(transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||
)
|
||||
var new_velocity := direction * MOVE_SPEED
|
||||
var speed := MOVE_SPEED
|
||||
Debugger.text("move_mode", "move", 2)
|
||||
if Input.is_action_pressed("crouch"):
|
||||
speed = CROUCH_SPEED
|
||||
Debugger.text("move_mode", "crouch", 2)
|
||||
if Input.is_action_pressed("run"):
|
||||
speed = RUN_SPEED
|
||||
Debugger.text("move_mode", "run", 2)
|
||||
var new_velocity := direction * speed
|
||||
new_velocity.y = velocity.y
|
||||
velocity = velocity.move_toward(new_velocity, MOVE_ACCELERATION * delta)
|
||||
else:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user