Я создаю платформу платформы tilemap в SpriteKit. Я назначил траектории столкновения с физическим телом всех наземных плиток и сделал их нединамичными. Для игрока я назначил два полигона столкновений: круг внизу и прямоугольник сверху.Физика SpriteKit: Как сделать игровой спрайт, следуя (наклонной) земле
Спрайт игрока имеет фиксированное положение на экране, а уровень прокручивается справа налево. Теперь, пока игрок спрайта находится на ровной поверхности, столкновения работают отлично, и игрок идет по земле. Тем не менее, у меня также есть некоторые наклонные плитки ландшафта, которые я хочу, чтобы игрок следил (например, пешком в гору). Но когда игрок достигает наклонной плитки, он просто отскакивает от нее, не имея возможности «подняться» на нее.
Точно так же, когда я падаю игрока сверху на наклонную плитки, он скользит вниз «холм», вместо того, чтобы оставаться на месте.
я как реституция и трение устанавливаются в 0.
Так как я могу заставить игрок спрайт следовать земле, независимо от его формы, и как я могу сделать пребывание игрока на наклонную плитке вместо сползать вниз?
Я попытался использовать SKConstraints с позициейX, установленным в постоянное значение. Сначала это работало, но затем игрок застрял посреди наклонной плитки и в конце концов провалился сквозь нее.
Я также пробовал различные формы столкновений многоугольников на плеере (например, прямоугольник вместо круга внизу), но это ничего не меняло.
Любая помощь приветствуется!
Какой CGVector вы имеете в виду? Вектор скорости тела физики? Я смог заставить игрока следовать по склонам, включив/отключив его свойство affectedByGravity, когда он находится на склоне/вверх по склону. Тем не менее, горизонтальное движение является нечетным, поскольку оно замедляется, когда он путешествует в гору и ускоряется, когда он путешествует вниз, вместо того, чтобы поддерживать постоянную скорость. – snorge
Выключает, что включение/выключение при включении не работает так хорошо. Я начинаю очень отчаянно. Невозможно ли вам показать некоторые фрагменты кода, которые помогут мне понять, как обращаться с движением игрока на склонах? Здесь очень много факторов (например, гравитация, трение, столкновения, скорость и т. Д.), Что у меня такое чувство, что я делаю что-то принципиально неправильное. – snorge
@snorge - добавлены примеры движения. – sangony