Скорее так
Скорее так
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Oleg N. Cher, редакторы вроде есть, только они редактируют экран, а не спрайты. Нужен редактор для спрайтов.
¡Un momento, señor fiscal!
Такое есть. Вот чего реально не хвает - возможности делать анимированные спрайты.
Alex Rider, Предлагаю: "LASER SPRITES LIBRARY 2 для ZXDev"
- - - Добавлено - - -
Или для SDCC ?
Но Laser это не только спрайты, это же вообще графический движок. Пусть тема называется как есть, я же вас на неё ловлю. ;-) Есть мысль сделать для Бейсик-людей таблицу соответствия операторов ZX-Basic процедурам и операторам Оберона. Не завалялась ни у кого табличка операторов ZX-Basic в Excel или Word, на основе которой можно это сделать?
Тогда все увидят, что Оберон - это правильный Бейсик, с веткой ELSE, с циклом WHILE, с процедурами и т.п. Чего я и добиваюсь, потому что люди очень цепляются за слова, иногда скрадывая за ними суть.
- - - Добавлено - - -
Reobne, и для ZXDev, и для SDCC.
Игровое меню. Лень заполнять служебное окно. Пока от спрайтов отказываюсь в пользу UDG, так как нет редактора спрайтов.
Pr.7z
¡Un momento, señor fiscal!
Реализовал AWLV, SL8V, SR8V, WL8V, WR8V и PTNV. Осталось сделать зеркалирование, горизонтальные сдвиги на 1 и 4 бита, вертикальные сдвиги и вывод спрайта за пределами экрана. На чём план-минимум будем считать выполненным. Остальное по запросу.
PTNV - это новая операция: инверсный вывод спрайта. Ранее в Лазере приходилось сначала инвертировать спрайт в памяти, выводить и инвертировать опять, чтобы вернуть в исходное состояние. Теперь вывод инверсного спрайта так же эффективен, как и обычного (4 такта на CPL против 4-х на NOP).
Насчёт зеркалирования. Уверен, что буфер не нужен. Логика такая: есть зеркалируемая область, построчно берём первый и последний байт картинки, зеркалим и меняем местами, т.е. на место первого записываем зеркальный последний, на место последнего зеркальный первый, далее берём два следующих байта и т.д. Последний (средний) байт может оказаться один, если длина строки непарная, тогда мы его просто зеркалим.
В связи с чем вопрос: чтобы поменять в байте порядок битов на обратный (отзеркалить) можно ли действовать эффективнее, чем в этой процедурке?
Код:; Подпрограмма зеркального отображения байта в аккумуляторе MIRV0 RLA RR B ;отображенный байт получится в B RLA RR B RLA RR B RLA RR B RLA RR B RLA RR B RLA RR B RLA RR B RET
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)