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

User Tag List

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

Тема: зеркальное отражение и автомаска

  1. #11
    Guru Аватар для Totem
    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    2,189
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    спасиб добрый чилавек

  2. #12
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Таблица 512 байт под автомаски слева и справа - бывает расточительно.
    Поэтому написал такие процедуры получения автомасок:
    Код:
    ; получение автомаски справа для байта изображения
    ; входные параметры: A = байт изображения
    ; выходные параметры: C = байт изображения, B = автомаска
    
    RMASK		LD	C,A
    		LD	B,255
    		RRCA
    		RET	C
    		SLA	B
    		RRCA
    		RET	C
    		SLA	B
    		RRCA
    		RET	C
    		SLA	B
    		RRCA
    		RET	C
    		SLA	B
    		RRCA
    		RET	C
    		SLA	B
    		RRCA
    		RET	C
    		SLA	B
    		RRCA
    		RET	C
    		SLA	B
    		RRCA
    		RET	C
    		SLA	B
    		RET
    
    
    ; получение автомаски слева для байта изображения
    ; входные параметры: A = байт изображения
    ; выходные параметры: C = байт изображения, B = автомаска
    
    LMASK		LD	C,A
    		LD	B,255
    		RLCA
    		RET	C
    		SRL	B
    		RLCA
    		RET	C
    		SRL	B
    		RLCA
    		RET	C
    		SRL	B
    		RLCA
    		RET	C
    		SRL	B
    		RLCA
    		RET	C
    		SRL	B
    		RLCA
    		RET	C
    		SRL	B
    		RLCA
    		RET	C
    		SRL	B
    		RLCA
    		RET	C
    		SRL	B
    		RET

  3. #13
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,751
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    266
    Поблагодарили
    200 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Andrew771 это не очень хороший вариант
    для очень частных случаев

    если у тебя спрайт шириной 1 знакоместо твой вариант не годится
    С уважением,
    Jerri / Red Triangle.

  4. #14
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    если у тебя спрайт шириной 1 знакоместо твой вариант не годится
    Это уже не спрайт, а строка символов.
    Да, эти процедуры только для масок слева или справа. А если нужно сверху или снизу, то нужно просматривать все 8 байтов знакоместа (или хотя бы 4, смотря какие "рваные" края). А таблица масок (если делать через таблицу) вырастет до 1 кб.

  5. #15
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,751
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    266
    Поблагодарили
    200 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Andrew771, сколько спрайтов с автомаской 3*3 ты выведешь во фрейм этой процедурой
    Последний раз редактировалось jerri; 24.03.2011 в 21:57.
    С уважением,
    Jerri / Red Triangle.

  6. #16
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Во фрейм мало, не знаю сколько. А вот здесь моя заготовка будущей игры: http://zx.pk.ru/showpost.php?p=369513&postcount=177
    Три четверти экрана выводится из четвертинок спрайтов, отзеркаливаемых и автомаскируемых друг с другом. Вроде приемлемая скорость.

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

  8. #17
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,751
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    266
    Поблагодарили
    200 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ага видел, неплохо для пошаговой РПГ

    посчитай сколько тактов у тебя тратится на разворот 1 байта в худшем случае
    и потом рассмотри вариант

    ld c,a
    ld a,(bc)

    кстати по скорости посмотри
    barbarian

    с адреса #8fb5 вывод строки спрайта

    с адреса #9048 конкретно преобразование
    но у них формат спрайтов чуть другой - поудобнее для такого вывода и маска получается правильная

    а таблиц кстати надо 3
    для вырезания маски слева
    для вырезания маски справа
    и для вырезания маски с обеих сторон - 768 байт
    Последний раз редактировалось jerri; 24.03.2011 в 23:59.
    С уважением,
    Jerri / Red Triangle.

  9. #18
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про barbarian - да, там быстро, но всего два человечка прыгают. А у меня весь экран перерисовывается при каждом ходе.
    Я всё-таки сделал маски и зеркала через таблицы. Пришлось пожертвовать 768 байт (левая маска, правая маска, зеркало. Вырезание с обеих сторон мне не нужно). Ощутимо быстрее стало.

  10. #19
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,751
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    266
    Поблагодарили
    200 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    2 человечка это видимость там много чего копируется

    показывай код
    С уважением,
    Jerri / Red Triangle.

  11. #20
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выложил тут: http://zx.pk.ru/showpost.php?p=369689&postcount=184
    Отвечай по возможности там же, чтобы здесь не флеймить не по теме.

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

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

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

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

Метки этой темы

Ваши права

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