User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 13 из 13

Тема: Коллизии с ландшафтом

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,551
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от axor
    Раз все действие происходит на одном экране, то врагов не должно быть очень много, так что скорости должно хватить. Ведь не стотня же героев у тебя будет одновременно там бегать.

    А вообще у тебя под боком есть Gogin. Спроси, у него опыт уже есть.
    Врагов десяток, плюс куча частиц, 2 игрока...
    А Gogin, где его искать, на мыло он молчит.
    Да и в Dizzy, там не совсем то о чем я говорю.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    newart, может тебе подойдет следующая схема:
    1. Есть буфер (назовем "буфером коллизии") 6144байт, в который, при входе на локацию, отрисовываются спец. маски спрайтов локации. Как у тебя на скриншоте.
    2. Также есть второй буфер коллизии. По формату он должен быть как у экранных аттрибутов, размер 768байт. В зависимости от типа спрайта, в него заносятся на 4 байта(если спрайт 16х16пкс) данные: 0 - пусто, 1 - гориз. полка, 2 - вертик. стена. Этот буфер заполняется тоже только при входе на локацию.
    3. При прыжке (в буферах коллизии не надо ничего перерисовывать, как тут советовали) отключаешь процедуру проверки на коллизию с гориз. полками, а как только герой начинает падать, то включаешь её. Эта процедура гориз. коллизии должна быть следующая:
    1) добавляем объекту 1 пиксель по Y. Если нужно сместиться на 4 пкс, то вызываем данную процедуру 4 раза. По-другому не получится - возможен перелет или придется постоянно поднимать героя на высоту спрайта, а в твоем случае это равноценно вызову данной процедуры коллизии.
    2) пересчитываешь пискельные координаты в знакоместовые и проверяешь во втором буфере коллизии присутствие горизонтальной полки.
    3) проверяешь на коллизию в первом буфере инструкциями типа: LD A,(IX):OR A:JR Z,sleduyschiybayt:LD A,(HL):AND E:CP (HL):JR NZ,chtotoest:INC HL:INC IX.... ( и так три раза для спрайта 16пксл) где HL - адрес координаты (X героя + смещение на нижнюю линию спрайта героя) в первом буфере коллизии, E,... - маски(уже просколлированные) нижней линии спрайта героя.
    4) зацикливаешь.....

    Максимум на одний объект будет 1000 тактов. 10х1000=10000 тактов.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  4. #3

    Регистрация
    12.12.2015
    Адрес
    г. Москва
    Сообщений
    65
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всем привет! Хочу поднять тему из небытия. Как осознаётся перемещение игрока по ландшафту на современном уровне развития человечества? Интересует сценарий типа соника, с округлыми траекториями, экран скроллится.

Страница 2 из 2 ПерваяПервая 12

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •