| Разработка и ромхакинг > Ромхакинг и программирование |
| Проблема в Програмировании (на BasiEgaXorz) |
| (1/1) |
| Winpaul005:
У меня такая проблема в програмировании Игры для Sega MD/Genesis на BasiEgaXorz: при попытке скомпилировать данный код: --- Код: --- loadtiles fan, 1, 300, 12 palettes col, 0, 0 drawtile 300, 4,4 do:loop fan: DATALONG $00000000 ' Tile: 0 DATALONG $00000000 DATALONG $00000888 DATALONG $00778777 DATALONG $00778776 DATALONG $00788876 DATALONG $00788876 DATALONG $00788876 DATALONG $00777776 ' Tile: 1 DATALONG $00777777 DATALONG $00000007 DATALONG $00000007 DATALONG $00007777 DATALONG $00777777 DATALONG $00707777 DATALONG $00800007 DATALONG $08080007 ' Tile: 2 DATALONG $08080007 DATALONG $00000007 DATALONG $00000007 DATALONG $000000F7 DATALONG $000000F7 DATALONG $0000000F DATALONG $00000000 DATALONG $00000000 ' Tile: 3 DATALONG $00000000 DATALONG $88880000 DATALONG $77777000 DATALONG $66667000 DATALONG $06067000 DATALONG $66667000 DATALONG $60667000 DATALONG $66667000 ' Tile: 4 DATALONG $77777000 DATALONG $70000000 DATALONG $70000000 DATALONG $77777000 DATALONG $CA1C7770 DATALONG $77777070 DATALONG $70000080 DATALONG $70000808 ' Tile: 5 DATALONG $70000808 DATALONG $70000000 DATALONG $77000000 DATALONG $7F700000 DATALONG $7F700000 DATALONG $F7000000 DATALONG $00000000 col: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 0 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 1 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 2 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 3 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 --- Конец кода --- У меня выходит такая ошибка: ERROR: Line 1: Label does not exist! Как мне это исправить????!!!! :'( :'( :'( :'( :'( o_0 o_0 o_0 o_0 :ohmy: :ohmy: :ohmy: |
| SeregaZ:
может быть сначала должна идти дата секция, а уже потом код самой программы? в моем PB так. сначала идут метки с данными. потом код, их использующий. либо можно сначала объявить что существуют такие-то метки. тогда при чтении программы - она сама раздуплится что к чему. при таком объявлении все равно какая очередность. |
| TiberiyLTim:
Салам. Ты должен знать основы. Что заголовок локации, например "fan:", должен начинаться с красной строки, и впереди него не должно быть пробелов/отступов и мусора. Код загрузки палитры также ты используешь не правильный. Читай документацию. Вот подправил, чтобы компилятор не ругался: --- Код: --- loadtiles fan, 1, 300, 12 palettes col,0,0,16 drawtile 300, 4,4 do:loop fan: DATALONG $00000000 ' Tile: 0 DATALONG $00000000 DATALONG $00000888 DATALONG $00778777 DATALONG $00778776 DATALONG $00788876 DATALONG $00788876 DATALONG $00788876 DATALONG $00777776 ' Tile: 1 DATALONG $00777777 DATALONG $00000007 DATALONG $00000007 DATALONG $00007777 DATALONG $00777777 DATALONG $00707777 DATALONG $00800007 DATALONG $08080007 ' Tile: 2 DATALONG $08080007 DATALONG $00000007 DATALONG $00000007 DATALONG $000000F7 DATALONG $000000F7 DATALONG $0000000F DATALONG $00000000 DATALONG $00000000 ' Tile: 3 DATALONG $00000000 DATALONG $88880000 DATALONG $77777000 DATALONG $66667000 DATALONG $06067000 DATALONG $66667000 DATALONG $60667000 DATALONG $66667000 ' Tile: 4 DATALONG $77777000 DATALONG $70000000 DATALONG $70000000 DATALONG $77777000 DATALONG $CA1C7770 DATALONG $77777070 DATALONG $70000080 DATALONG $70000808 ' Tile: 5 DATALONG $70000808 DATALONG $70000000 DATALONG $77000000 DATALONG $7F700000 DATALONG $7F700000 DATALONG $F7000000 DATALONG $00000000 col: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 0 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 1 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 2 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 3 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 --- Конец кода --- Сразу советую тебе выносить графику из кода в папку. Большой проект прост сложно будет редачить из-за кучи по сути машинного кода и мусора. Например, сохраняй через прогу тайл или спрайт в BIN-файл, а его уже подгружай в конце ROM так: EnemyTL: datafile Enemy.BIN,BIN ' 12 Tiles (24x32, 3x4) Спрайт отрисовывается так: 'загружается тайлсет спрайта в указанное место LoadTiles Shells_1,4,236 'присваивается имя и размер спрайта (в тайлах 8x8, максимум 4x4) Shells1=AddSprite(2,2) 'загружается тайлсет спрайта из указанного места, присваивается номер палитры (0-3) PropSprite Shells1,236,1 'спрайт перемещается по координатам. Нужно учитывать, что верхний левый угол видимого экрана начинается 128x128 пикселей. MoveSprite Shells1,0,368 Тайл загружается так: DRAWTILESINC 128,1,15,1,1 'na4alo tileset,x,y,shir,visot Есть и другие варианты... Изучай шаблоны и описания функций в мануале. |
| Winpaul005:
--- Цитата: TiberiyLTim от 13 Ноябрь 2017, 17:21:09 ---Салам. Ты должен знать основы. Что заголовок локации, например "fan:", должен начинаться с красной строки, и впереди него не должно быть пробелов/отступов и мусора. Код загрузки палитры также ты используешь не правильный. Читай документацию. Вот подправил, чтобы компилятор не ругался: --- Код: --- loadtiles fan, 1, 300, 12 palettes col,0,0,16 drawtile 300, 4,4 do:loop fan: DATALONG $00000000 ' Tile: 0 DATALONG $00000000 DATALONG $00000888 DATALONG $00778777 DATALONG $00778776 DATALONG $00788876 DATALONG $00788876 DATALONG $00788876 DATALONG $00777776 ' Tile: 1 DATALONG $00777777 DATALONG $00000007 DATALONG $00000007 DATALONG $00007777 DATALONG $00777777 DATALONG $00707777 DATALONG $00800007 DATALONG $08080007 ' Tile: 2 DATALONG $08080007 DATALONG $00000007 DATALONG $00000007 DATALONG $000000F7 DATALONG $000000F7 DATALONG $0000000F DATALONG $00000000 DATALONG $00000000 ' Tile: 3 DATALONG $00000000 DATALONG $88880000 DATALONG $77777000 DATALONG $66667000 DATALONG $06067000 DATALONG $66667000 DATALONG $60667000 DATALONG $66667000 ' Tile: 4 DATALONG $77777000 DATALONG $70000000 DATALONG $70000000 DATALONG $77777000 DATALONG $CA1C7770 DATALONG $77777070 DATALONG $70000080 DATALONG $70000808 ' Tile: 5 DATALONG $70000808 DATALONG $70000000 DATALONG $77000000 DATALONG $7F700000 DATALONG $7F700000 DATALONG $F7000000 DATALONG $00000000 col: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 0 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 1 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 2 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 3 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 --- Конец кода --- Сразу советую тебе выносить графику из кода в папку. Большой проект прост сложно будет редачить из-за кучи по сути машинного кода и мусора. Например, сохраняй через прогу тайл или спрайт в BIN-файл, а его уже подгружай в конце ROM так: EnemyTL: datafile Enemy.BIN,BIN ' 12 Tiles (24x32, 3x4) Спрайт отрисовывается так: 'загружается тайлсет спрайта в указанное место LoadTiles Shells_1,4,236 'присваивается имя и размер спрайта (в тайлах 8x8, максимум 4x4) Shells1=AddSprite(2,2) 'загружается тайлсет спрайта из указанного места, присваивается номер палитры (0-3) PropSprite Shells1,236,1 'спрайт перемещается по координатам. Нужно учитывать, что верхний левый угол видимого экрана начинается 128x128 пикселей. MoveSprite Shells1,0,368 Тайл загружается так: DRAWTILESINC 128,1,15,1,1 'na4alo tileset,x,y,shir,visot Есть и другие варианты... Изучай шаблоны и описания функций в мануале. --- Конец цитаты --- Компилятор не ругается но теперь ничего не видно... |
| TiberiyLTim:
Я же не знаю, что у тебя там должно быть... Вот сделал, чтобы отрисовывались твои тайлы, но я не пойму что там за каракули: --- Код: --- Scene_1: loadtiles fan,6,256 palettes Pal_0,0,0,16 ' palettes Pal_1,1,0,16 ' palettes Pal_2,2,0,16 ' palettes Pal_3,3,0,16 Ink 0 DRAWTILESINC 256,14,12,2,3 'na4alo tileset,x,y,shir,visot 'Loop While 1 Wend 'EndLoop fan: DATALONG $00000000 ' Tile: 0 DATALONG $00000000 DATALONG $00000888 DATALONG $00778777 DATALONG $00778776 DATALONG $00788876 DATALONG $00788876 DATALONG $00788876 DATALONG $00777776 ' Tile: 1 DATALONG $00777777 DATALONG $00000007 DATALONG $00000007 DATALONG $00007777 DATALONG $00777777 DATALONG $00707777 DATALONG $00800007 DATALONG $08080007 ' Tile: 2 DATALONG $08080007 DATALONG $00000007 DATALONG $00000007 DATALONG $000000F7 DATALONG $000000F7 DATALONG $0000000F DATALONG $00000000 DATALONG $00000000 ' Tile: 3 DATALONG $00000000 DATALONG $88880000 DATALONG $77777000 DATALONG $66667000 DATALONG $06067000 DATALONG $66667000 DATALONG $60667000 DATALONG $66667000 ' Tile: 4 DATALONG $77777000 DATALONG $70000000 DATALONG $70000000 DATALONG $77777000 DATALONG $CA1C7770 DATALONG $77777070 DATALONG $70000080 DATALONG $70000808 ' Tile: 5 DATALONG $70000808 DATALONG $70000000 DATALONG $77000000 DATALONG $7F700000 DATALONG $7F700000 DATALONG $F7000000 DATALONG $00000000 Pal_0: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 0 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 Pal_1: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 1 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 Pal_2: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 2 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 Pal_3: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 3 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 --- Конец кода --- |
| Winpaul005:
--- Цитата: TiberiyLTim от 13 Ноябрь 2017, 21:13:48 ---Я же не знаю, что у тебя там должно быть... Вот сделал, чтобы отрисовывались твои тайлы, но я не пойму что там за каракули: --- Код: --- Scene_1: loadtiles fan,6,256 palettes Pal_0,0,0,16 ' palettes Pal_1,1,0,16 ' palettes Pal_2,2,0,16 ' palettes Pal_3,3,0,16 Ink 0 DRAWTILESINC 256,14,12,2,3 'na4alo tileset,x,y,shir,visot 'Loop While 1 Wend 'EndLoop fan: DATALONG $00000000 ' Tile: 0 DATALONG $00000000 DATALONG $00000888 DATALONG $00778777 DATALONG $00778776 DATALONG $00788876 DATALONG $00788876 DATALONG $00788876 DATALONG $00777776 ' Tile: 1 DATALONG $00777777 DATALONG $00000007 DATALONG $00000007 DATALONG $00007777 DATALONG $00777777 DATALONG $00707777 DATALONG $00800007 DATALONG $08080007 ' Tile: 2 DATALONG $08080007 DATALONG $00000007 DATALONG $00000007 DATALONG $000000F7 DATALONG $000000F7 DATALONG $0000000F DATALONG $00000000 DATALONG $00000000 ' Tile: 3 DATALONG $00000000 DATALONG $88880000 DATALONG $77777000 DATALONG $66667000 DATALONG $06067000 DATALONG $66667000 DATALONG $60667000 DATALONG $66667000 ' Tile: 4 DATALONG $77777000 DATALONG $70000000 DATALONG $70000000 DATALONG $77777000 DATALONG $CA1C7770 DATALONG $77777070 DATALONG $70000080 DATALONG $70000808 ' Tile: 5 DATALONG $70000808 DATALONG $70000000 DATALONG $77000000 DATALONG $7F700000 DATALONG $7F700000 DATALONG $F7000000 DATALONG $00000000 Pal_0: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 0 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 Pal_1: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 1 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 Pal_2: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 2 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 Pal_3: DATAINT $0EEE,$00EE,$0E0E,$000E,$0EE0,$00E0,$0E00,$0888 ' Pallette: 3 DATAINT $0CCC,$0088,$0808,$0008,$0880,$0080,$0800,$0000 --- Конец кода --- --- Конец цитаты --- Спасибо. проблема зародилась, изучая basiegaxorz из этого плейлиста: https://www.youtube.com/playlist?list=PLHx0gZanhY9msn9H-5K5hHYxEhBkndf4M |
| Навигация |
| Главная страница сообщений |