Важная информация

User Tag List

Показано с 1 по 10 из 13

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

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,440
    Спасибо Благодарностей отдано 
    192
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    61 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Коллизии с ландшафтом

    Делая игру сталкнулся с небольшой проблемой.
    Герой и враги двигаясь по ланшафту должны
    плавно его огибать (как в Dizzy 7).
    Так-же возможны вертикальные прыжки, во время
    которых ланшафт над головой не является препядствием,
    тоесть герой может какбы сковзь него вертикально
    пролететь.
    По скольку на ланшафте будет травка и прочаи украшательства,
    я решил создать дополнительный набор спрайтов, c контурами
    ланшафта. Тоесть карта уровня состоит из двух слоев.

    При прыжке пока герой летит вверх столкновения можно вообще
    не обрабатывать. Но когда герой после прыжка начинает падать
    каким образом отличить вертикальные (я пометил их синим цветом)
    препядствия (которые служат для ограничения движения влево-вправо)?
    В принципе можно на пиксель отводить по 2 бита (как в примере
    красный (1) горизональное, синий (2) пвертикальное, и 0 выключеный
    пиксель. Поскольку спрайтов препядствий довольно немного, можно
    даже не парится с битами а отвести на пиксель по байту.

    Но есть еще одна проблема, допутим герой после прыжка падает,
    ну или даже просто бежит, причем дискретность перемещения
    несколько пикселей допустим 4. Легко догадаться, что в таком
    случае герой может просто проскочить скозь препядствие.
    Ведь на колиззию с ланшафтом проверяеться далеко не весь герой,
    а лишь несколько пикселей (по середине в районе ног).
    Единсвенный выход которйя я пока нашел, это вызывать подпрограмму
    провекрки коллизии столько раз на сколько надо переместить спрайт,
    но это явно не оптимальный метод, особенно если на экране много
    врагов который работают по такому же принципу.

    Может чего-нибудь посоветуете?
    Возможно мой способ в корне не верен?
    Хакер из меня никакой, поэтому я не стал
    ковырять игры и смотреть как это там сделано.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	collision.png 
Просмотров:	336 
Размер:	1.2 Кб 
ID:	2218  

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

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

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

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

Ваши права

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