[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Godot Engine » 2D Программирование » Движущиеся платформы и взаимодействие (Проблема со взаимодействием персонажа и движущихся платформ)
Движущиеся платформы и взаимодействие
pixeldugДата: Пн, 23.04.2018, 17:50 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Оффлайн
Всем привет! Ситуация следующая:



Проблема во взаимодействии персонажа и движущихся платформ, с горизонтальной он соскальзывает, на вертикальной при движении вниз он "падает" рывками. Думаю это одна из тем, которая очень востребована в разработке 2D платформеров.

Код персонажа: 

Код
extends KinematicBody2D

const UP = Vector2(0, -1)
const GRAVITY = 20
const ACCELERATION = 50
const SPEED = 200
const JUMP = -550

var motion = Vector2()

func _physics_process(delta):
   motion.y += GRAVITY
   var friction = false
   
   if Input.is_action_pressed("ui_right"):
      motion.x = min(motion.x+ACCELERATION, SPEED)
      $Sprite.flip_h = false
      $Sprite.play("Run")
   elif Input.is_action_pressed("ui_left"):
      motion.x = max(motion.x-ACCELERATION, -SPEED)
      $Sprite.flip_h = true
      $Sprite.play("Run")
   else:
      $Sprite.play("Idle")
      friction = true
   
   if is_on_floor():
      if Input.is_action_pressed("ui_up"):
         motion.y = JUMP
      if friction == true:
         motion.x = lerp(motion.x, 0, 0.2)
   else:
      if motion.y < 0:
         $Sprite.play("Jump")
      else:
         $Sprite.play("Fall")
      if friction == true:
         motion.x = lerp(motion.x, 0, 0.05)
         
   motion = move_and_slide(motion, UP)
   pass

Сами платформы это StaticBody2D. Нид хелп!  smile
 
skanersoftДата: Вс, 29.04.2018, 13:09 | Сообщение # 2
Админ
Группа: Администраторы
Сообщений: 30
Награды: 0
Репутация: 501
Статус: Оффлайн
Попробуй сделать объекты блоков типом RigidBody2D.

Главный Админ Godot Engine Russia
 
Форум » Godot Engine » 2D Программирование » Движущиеся платформы и взаимодействие (Проблема со взаимодействием персонажа и движущихся платформ)
  • Страница 1 из 1
  • 1
Поиск: