Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends CharacterBody2D
- # Настройки движения
- var speed : float = 300.0
- var jump_velocity : float = -400.0
- var gravity : float = 980.0
- # Дополнительные настройки для плавности (опционально)
- var acceleration : float = 1500.0
- var deceleration : float = 1200.0
- # Переменные состояния
- var is_jumping : bool = false
- func _physics_process(delta):
- # Применяем гравитацию каждый кадр, если персонаж не на земле
- if not is_on_floor():
- velocity.y += gravity * delta
- is_jumping = true
- else:
- is_jumping = false
- if Input.is_action_just_pressed("jump") and is_on_floor():
- velocity.y = jump_velocity
- is_jumping = true
- var direction = Input.get_axis("move_left", "move_right")
- velocity.x = direction * speed
- # Применяем движение
- move_and_slide()
- func _process(delta):
- # Визуальная обратная связь - поворот спрайта
- var direction = Input.get_axis("move_left", "move_right")
- if direction > 0:
- # Смотреть вправо
- scale.x = abs(scale.x)
- elif direction < 0:
- # Смотреть влево (отразить по горизонтали)
- scale.x = -abs(scale.x)
Advertisement
Add Comment
Please, Sign In to add comment