Мультиплеер: выделенный WebSocket-сервер, призраки других игроков
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -173,6 +173,7 @@ var default_collision_y: float = 0.0
|
||||
@onready var head: Camera3D = $Camera3D
|
||||
|
||||
func _ready() -> void:
|
||||
add_to_group("local_player")
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
head_base_pos = head.position
|
||||
base_fov = head.fov
|
||||
@@ -223,6 +224,15 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||
elif event.keycode == KEY_Q:
|
||||
_try_dash() # Рывок
|
||||
|
||||
# Битовые флаги состояния для сетевой синхронизации (см. Net.FLAG_*)
|
||||
func get_net_flags() -> int:
|
||||
var flags := 0
|
||||
if is_sliding: flags |= Net.FLAG_SLIDING
|
||||
if is_wallrunning: flags |= Net.FLAG_WALLRUN
|
||||
if is_dashing: flags |= Net.FLAG_DASH
|
||||
if is_mantling: flags |= Net.FLAG_MANTLE
|
||||
return flags
|
||||
|
||||
func _get_input_dir() -> Vector2:
|
||||
var input_dir := Vector2.ZERO
|
||||
if Input.is_key_pressed(KEY_D):
|
||||
|
||||
Reference in New Issue
Block a user