В последние пару месяцев я работал над проектом, использующим «Fake Gravity Platformer Test with Shooting» (отсюда: http://atariage.com/forums/topic/179473-fake-gravity-platformer-test/) в качестве шаблона.
Цель моего проектаэто создание Платформера с четырехсторонней гравитацией.
Вот как должен работать Код: сначала решается, какой Код должен быть выполнен в зависимости от текущей силы тяжести, затем представлено каждое направление Столкновенияподпрограммой.
Каждая из этих подпрограмм следует той же схеме: Код проверяет, сталкивается ли один пиксель с блоком, а затем проверяет другой в той же строке / столбце (в зависимости от того, какое направление и сила тяжести)
Предполагается, что это создаст безупречный "Hitbox" для персонажа игрока.
К сожалению, это не работает по неизвестной мне причине (игрок может прыгать через стены или сбивать его с толку ")на полпути в блок, который должен быть твердым)
Я пробовал много способов решить эту проблему:
Make the Player Координирует обычные значения вместо float, надеясь, что это поможет, но это не
Пробовал различные преобразования PlayerCoords-to-Block-Value, такие как деление, по модулю и по битам
Порядок изменения подпрограмм
Я не в курсе и у меня совершенно не осталось идей.
Кто-нибудь знает, в чем проблема?могло быть?
Я прикрепил текущее состояние моего проекта: https://pastebin.com/NbD4Huvi
a
(PS Visual Batari Basic v1.0 Build 568 работал, я неНе знаю, использует ли кто-нибудь этот язык больше или я единственный, я уже опубликовал его на форуме программистов для новичков Atari 2600, но не получил ответа в течение двух недель.)