User Tag List

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

Тема: Спрайты

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

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

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Можно держать вспомогательный битмап небитых кирпичей
    какой нафик битмап
    нужно 32х32 байта памяти
    и подсказка
    нормальные люди для большей скорости разместят их так
    (адреса условно с А000 чисто для прммера)

    A000 A001 A002... ...A01Е A01F
    A100 A101 A102... ...A11Е A11F
    ................................................
    BE00 BE01 BE02... ...BE1Е BE1F
    BF00 BF01 BF02... ...BF1Е BF1F

    и все будет летать

    можно конечно с экономить памяти
    и разместить все линейно
    но потерять в скорости...

    можно ложить рядом с этим буфером (A020...A0FF A120...A1FF итд)
    другие данные
    например графику
    или карты уровней


    каждому кирпичу присваиваем свой номер
    потом пиксельные координаты мячика делим на 8 и проверяем что в этом буфере
    с кем мы столкнулись или не столкнулись
    по остатку от деления
    можем определить с какой стороны мы столкнулись
    и в правильную сторону отразить мячь
    (мы не можем зацепить верхний пиксель залетев снизу)
    для стен так же нужно присвоить свои номера
    столкновение с ракеткой обрабатывать отдельным кодом
    так же как и столкновение со всякими посторонними летучками


    так же подсказка
    для пуляния мячика под любым углом
    нужны таблички синуса и косинуса
    которых в сорце не видно

    попиксельная точность детекции столкновений не нужна
    ее часто нет в фирменных играх
    и ты получаешь даже если тебе попали по пустому месту...

    - - - Добавлено - - -

    условный пример содержания буфера

    Код:
    11111111111111111111111111111
    20000000000000000000000000003
    20000000000000000000000000003
    20044556677889900000000000003
    2000AABBCCDDEEFF0000000000003
    20000000000000000000000000003
    20000000000000000000000000003
    20000000000000000000000000003
    (так же можно упростить детекцию потери шарика
    нарисовав в буфере дно как стену со своим номером
    (в качестве бонуса
    ставящего отбивалку можно быстро пририсовать вместо дна вызывающего проигрыш
    дно вызывающее отбивание))

    далее нам нужна
    проверка по табличке
    с чем же мы столкнулись
    (табличка генерируется в начале уровня
    (то есть каждому блоку присваивается его тип))

    напомню что 250 блоков это
    16х15 широких кирпичей
    256х120 пикселей сплошных рядов кирпичей

    в принципе не сложно расширить набор почти до 64К
    но зачем?

    - - - Добавлено - - -

    кстате таким образом можно легко проверить столкновение всех наружных пикселей шарика
    после деления координаты каждого такого пикселя
    в конечном итоге останется 1 2 координаты для проверки по буферу
    ...но смысл проверять все?

    на всякий случай напомню что деление на 8 делается 3-мя rra
    а то мало чего еще нагородят...

    - - - Добавлено - - -

    В принципе не обязательно присваивать каждому блоку свой номер
    это не сильно рационально
    нужно только отделить соседние друг от друга
    Код:
    11111111111111111111111111111
    20000000000000000000000000003
    20000000000000000000000000003
    20044554455445544554455440003
    20006677667766776677667700003
    20088998899889988998899880003
    2000AABBAABBAABBAABBAABB00003
    200CCDDCCDDCCDDCCDDCCDDCC0003
    20000000000000000000000000003
    20000000000000000000000000003
    20000000000000000000000000003
    2FFFFFFFFFFFFFFFFFFFFFFFFFFF3
    а определять что стирать в видео памяти
    на основе адреса в буфере
    Последний раз редактировалось NEO SPECTRUMAN; 14.04.2019 в 20:53.

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

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

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

Похожие темы

  1. Спрайты из игр
    от newart в разделе Графика
    Ответов: 16
    Последнее: 11.08.2022, 07:52
  2. Как вырезать спрайты
    от Bedazzle в разделе Графика
    Ответов: 20
    Последнее: 09.02.2019, 21:27
  3. dehrust и спрайты
    от drbars в разделе Программирование
    Ответов: 21
    Последнее: 15.01.2013, 16:51
  4. Спрайты из бейсика
    от Руслан в разделе Графика
    Ответов: 15
    Последнее: 26.07.2012, 20:54
  5. Спрайты в бейсике
    от AER в разделе Для начинающих
    Ответов: 13
    Последнее: 28.03.2010, 11:50

Ваши права

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