Обновил генератор спрайтов. http://zx-pk.ru/threads/24967-zx-lik...l=1#post882316
Теперь
- графически отображает выделенный спрайт для удобного разрезания картинки,
- в конце массива пишет количество получившихся байт,
- добавлена возможность преобразования спрайта в текстовом виде обратно в картинку и её сохранение.
- - - Добавлено - - -
Ещё идея насчёт спрайтов.
На настоящий момент нет поддержки анимации. Чтобы например ГГ ходил нужно задать несколько отдельных спрайтов и печатать их по очереди.
Предлагаю сделать мультиспрайт, который является одним массивом, но содержит подряд несколько спрайтов, подобно тому, как я здесь объединил спрайты карты.
Спрайты должны быть одинакового размера в байтах. В массиве байты 0 и 1 содержат 16 битное число - размер одного спрайта в байтах. Емнип, спрайты могут состоять из 255*11+1 = 2806 байт, поэтому, одним байтом не обойтись.
Спрайты имеют номера от 0 и выше. В процедуры вывода спрайтов ввести ещё один параметр - номер выводимого спрайта, например SpritePutClear(<sprite name>,<sprite index>,<x>,<y>);
Тогда мультиспрайт анимации ГГ может содержать, например:
0 - исходное положение (стоит),
0, 1, 2, 3 - фазы хождения,
0, 4, 5 - фазы приседания,
0, 4, 6 - фазы прыжка,
0, 7 - фазы стрельбы,
0, 4, 8 - фазы умирания.
При желании можно несложно сделать кучу фаз движений, как в "Принц Персии".
Мультиспрайт гранаты может содержать фазы её вращения при полёте, мультиспрайт бочки может содержать фазы взрыва.
Спрайты карты тоже можно задать как один мультиспрайт с кучей спрайтов. И чтобы не плодить разных функций можно оставить только мультиспрайты.
Можно даже не переделывать названия функций.
Думаю, удобно получится, а размер увеличится всего на 2*(количество мультиспрайтов) байт, т.е., не так уж и много.




Ответить с цитированием