Проблемы гравитационного двигателя в четырех направлениях (Atari 2600) - PullRequest
0 голосов
/ 22 ноября 2018

В последние пару месяцев я работал над проектом, использующим «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, но не получил ответа в течение двух недель.)

...