When I press ui_shift, it should go 2 times faster. What am I doing wrong?
extends CharacterBody3D
@warning_ignore("untyped_declaration")
@onready var camera = $Camera3D
var SPEED : float = 10.0
const JUMP_VELOCITY : float = 4.5
# Questo codice dovrebbe essere facile da capire, non servono commenti.
# This code should be easy to understand, no comments needed.
# 31/01/2026: The camera is not moving, anything else works. I have no idea what is happening.
# 31/01/2026: The camera now moves, something else was consuming the events, had to change from _unhandled_input() to _input().
# 21/04/2026: Skybox no longer showing... for no reason.
# 28/04/2026: Skybox is back! A setting made it disappear, I got an Eureka effect.
func _process(_delta: float) -> void:
if Input.is_action_just_pressed("ui_shift"):
SPEED = 10.0
else:
SPEED = 5.0
func _physics_process(delta: float) -> void:
camera.rotation.x = clampf(camera.rotation.x, CAMERA_PITCH_MIN, CAMERA_PITCH_MAX)
if not is_on_floor():
velocity += get_gravity() * delta
if Input.is_action_just_pressed("ui_jump") and is_on_floor():
velocity.y = JUMP_VELOCITY
@warning_ignore("inferred_declaration")
var input_dir := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
@warning_ignore("inferred_declaration")
var direction := (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if direction:
velocity.x = direction.x * SPEED
velocity.z = direction.z * SPEED
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
velocity.z = move_toward(velocity.z, 0, SPEED)
move_and_slide()
var mouse_sensitivity : float = 0.002
var mouse_look_sensitivity : float= 0.002
var camera_pitch : float = 0.0
const CAMERA_PITCH_MIN : float = deg_to_rad(-90.0)
const CAMERA_PITCH_MAX : float = deg_to_rad(90.0)
@warning_ignore("untyped_declaration")
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
func _input(event: InputEvent) -> void:
if event is InputEventMouseMotion:
rotate_y(-event.relative.x * mouse_look_sensitivity)
camera.rotate_x(-event.relative.y * mouse_look_sensitivity)
if event is not InputEventMouseMotion:
return
@warning_ignore("unreachable_code")
camera_pitch -= event.relative.y * mouse_sensitivity
camera_pitch = clampf(camera_pitch, CAMERA_PITCH_MIN, CAMERA_PITCH_MAX)
camera.rotation.x = camera_pitch
Please help