может возникнуть ситуация, что помимо фона на той стороне спрайт будет.Сообщение от Soplik
может возникнуть ситуация, что помимо фона на той стороне спрайт будет.Сообщение от Soplik
Уже понял.
А обязательно все спрайты попиксельно выводить?
Сферический ламер в вакууме
Есть еще такое решение: строить весь кадр в буфере с последовательной организацией строк, и при этом строки делать шире, добавляя с обоих краев нужное число байтов (по размеру максимального спрайта минус 1). При переброске обрезать. Работает в том числе когда задействована вся ширина для игрового поля и когда есть рамки и не только рамки ink=paper. И очень неплохо, когда игровое поле уже (а например справа еще что-то типа как меню команд в лазер сквадроне).
ну, я на фреймовости не зацикливаюсь, имхо, невозможно написать более-менее навороченную аркаду, укладывающуюся в фрейм.
покрянчены ??? Объясните пожалуйста новичку, что это за метод???есть 3 процедуры, спрайты покрянчены
1) спрайт залазит влево
2) спрайт полностью на экране
3) спрайт залазит вправо
если спрайт на экране, то всё очевидно.
...
Покрянчены значит приготовлены к быстрому выводу
к примеру у тебя есть спрайт размером 16 х 16 пикселей
и тебе надо выводить его с точностью до 2х пикселей
т.е изначально имеем
2*16 - 32 байта под спрайт
и некую процедуру печати спрайта с точностью до пикселя
но все это работает крайне медленно (см ZX Ревю )
а далее берем и на основе имеющегося спрайта 16*16 (2х16)
создаем еще 3 спрайта размером 24*16 (3*16)
для чего скролим спрайт вправо на 2 пикселя и прячем в памяти
и теперь имеем и спрайт 2*16 - 32 байта и еще 3 спрайто 3*16
все вместе весит уже 176 байт
но теперь мы можем существенно облегчить процедуру печати спрайта
как по весу так и по скорости
и теперь при прорисовке смотрим на координату X
и в соответсвии со смещениями берем нужный нам спрайт
кстати если изначально задать при рисовании размер к примеру не 16*16
а 18*16 то при скролле не потребуется менять размер спрайта
а 2 пикселя для таких мелких спрйтов это ОГОГО сколько
будут еще вопросы - пиши в аську
С уважением,
Jerri / Red Triangle.
jerri, спасибо! Я все понял, елси мне не изменяет памать, то именно так сделано во многих игрушках Hewson, таких как Exolon, Zynaps, Cybernoid 1 и 2,
и др.?
Да именно так
С уважением,
Jerri / Red Triangle.
иллюстрация
С уважением,
Jerri / Red Triangle.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)