ну ворочать не ворочать
а можно выделить 2слоя под спрайты
и 2 под фон
и не думать об восстановлении фона под спрайтом
можно рисовать и стирать спрайты стеком (не пересекающиеся)
и строение экрана у вектора очень удобное
Вид для печати
Ой, нафлудили-то :)
Тема создавалась именно для Эрика, а тут уже в другую переросла, тоже интересную. :)
А реально сделать плавные перемещения персонажей? И убрать это адовое слоумо во время взрывов. А то геймить невозможно, фпс скачет от 1го до 5ти и обратно.
- - - Добавлено - - -
А впрочем, есть же такая вещь.
https://i.ytimg.com/vi/_IE1Fojhmv0/hqdefault.jpg
Нехило озлоблен на авторов. Заинтриговали эпичнейшей демкой зельда-клона, и забросили проект. Уфффф. Ярость!! ALK ЗЛИЦА!! ALK ЛАМАТЬ!!
Бомбермэно-клон Flynn's adventure in bomblandЦитата:
.Это что? Не в курсах
А был ещё такой мега-крутой сайд-проект ЖРПГ с познакоместным скроллом, переключением индоров/аутдоров, квестовыми элементами. И всё прекрасно пашет на 48 (хотя я нынче адепт 128к)
https://www.worldofspectrum.org/forums/discussion/38587
Но как это часто бывает со столь амбициозными проектами - забили :'(
А еще помню было какоето флипскриновое старое подобие бомбермена
восемьдесят какого то года
где бомба взрывала всех на всей площади видимого экрана
и нужно было отбегать на другой экран от нее
еще взрыв был долгий
типо записанный семпл
и сам он пер еще и на бордюр
и сходу решил что это дизасм именно оно
тк там тоже было какоето навороченное название...
не знал что есть такой msx-ный бомберман и на спектруме...
Бен, это Данила. Ай нид хелп.
Сильно плаваю в чтении клавиатуры. Поясните пожалуйста, или ткните, где читать, как оно работает.
Синклеровский джойстик. Не понимаю, почему четыре бита только, если перемещение по экрану четыре кнопки, и ещё есть пятая (ноль) для бомб.
Код:control_by_joy:
PUSH BC
LD BC,$EFFE ; 09876 keys
IN A,(C)
CPL
RRCA
AND 15 ; 1111
POP BC
RET Z
PUSH HL
PUSH BC
LD C,A
LD B,0
LD HL,KEYS_JOYSTICK
ADD HL,BC
LD A,(HL)
POP BC
POP HL
RET
KEYS_JOYSTICK:
DEFB 0,1,5,0,3,2,4,0
DEFB 7,8,6,0,0,1,5,0
Клавиатура. Не понимаю, для чего и откуда берётся константа 18.
Здесь вызов inkey - своя процедура, не из ROM.
Код:control_by_key:
CALL inkey
PUSH HL
PUSH BC
LD HL,KEYS_KEYBOARD
LD B,16
loc_9212:
CP (HL)
JR Z,loc_921A
INC HL
DJNZ loc_9212
LD B,18
loc_921A:
LD A,18
SUB B
RRCA
AND 127
POP BC
POP HL
RET
KEYS_KEYBOARD:
DEFM "WIEODLC"
DEFB 14 ; Symbol Shift
DEFM "XMZNAJQU"
по джойстику
есть отдельный опрос нажатия 0 по $91cf
в этом же только опрос для перемещения
если ничего не нажато или нажат 0
то происходит первый рет
если же есть перемещение
то дальше декодирование по таблице
не понимаю, зачем продублированы команды 1 и 5Код:KEYS_JOYSTICK:
DEFB 0
DEFB 1 ; up
DEFB 5 ; down
DEFB 0
DEFB 3 ; right
DEFB 2
DEFB 4
DEFB 0
DEFB 7 ; left
DEFB 8
DEFB 6
DEFB 0
DEFB 0
DEFB 1
DEFB 5
DEFB 0
и почему есть 2,4,6,8, если в коде только 1,3,5,7 обрабатываются.
Код:CALL control_eric
CP 5
JR Z,animate_eric ; go down
INC B
CP 7
JR Z,animate_eric ; go left
INC B
CP 3
JR Z,animate_eric ; go right
INC B
CP 1
RET NZ ; ret else go up
Это переделка процедуры bios msx, она "обобщенная", там и диагональные направления отрабатываются, хотя в msxном оригинале eric/bomberman они и не используются.