Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   Вывод картинки на экран (http://zx-pk.ru/showthread.php?t=13398)

Alex Clap 25th July 2010 01:33

Вывод картинки на экран
 
Сохраняю картинку нарисованную в БГЕ на диск(в эмуляторе Unreal Spectrum), формат scr, далее в бейсике-128 делаю следующее:
10 RANDOMIZE USR 15619: REM: LOAD "NAME" CODE 16384
20 RANDOMIZE USR 16384
и программа сбрасывается.
Пишу небольшую игру, подскажите как выводить картинки из бейсика, а так же музыку написаную в VT-II.

SAM style 25th July 2010 01:51

Code:

20 RANDOMIZE USR 16384
А это зачем? Голая картинка - это не исполняемый код. Пакуй лазерпаком - тогда подобным методом можно будет вывести их на экран.
С музыкой сложнее - для проигрывания надо 50 раз в секунду использовать плеер (таки да, голая музыка без плеера у тебя тоже не заиграет), а с этим обычный васик не справится.

goodboy 25th July 2010 01:52

Quote:

Originally Posted by Alex Clap (Post 301700)
20 RANDOMIZE USR 16384

а вот этого делать не надо - картинка (если она не скомпрессирована) просто загружается в экранную область памяти и сразу видна

.................

чуток опередили с ответом

psb 25th July 2010 01:58

надо так и так небольшой кусок кода. пусть картинки пакованные, тогда их можно будет выводить через USR xxx (хотя это будет не очень красиво), а музыку надо повешать на прерывания. т.е. запускаем музыку через USR xxx, а дальше управление возвращается в бейсик, а музыка играет сама.

Alex Clap 25th July 2010 02:04

Картинки рисовал в ZX-Spectrum screen editore, сохраняются с расширением s.
Свои картинки я еще на диск не затолкал, а другие картинки с расширением s лазер-пак обрабатывать не хочет.
Я уже весь мозг сломал )))
Оператор screen$ никак не должен быть задействован?
Как загрузить картинку в экранную область памяти?

goodboy 25th July 2010 02:23

длина (обычной не пакованной ) картинки 6912. расширение можно поменять почти любым коммандером при переименовании файла. а так ты всё делаешь правильно. 16384,6912

Vitamin 31st July 2010 14:04

Играть музыку из бейсика можно, но кроме музыки практически ничего нельзя будет делать:

Code:

10 randomize usr 49152
20 randomize usr 49157
30 pause 1
40 goto 20

А вообще да, лучше забыть о бейсике и делать все кодом.

SAM style 31st July 2010 15:17

Quote:

Originally Posted by Vitamin (Post 302985)
Играть музыку из бейсика можно, но кроме музыки практически ничего нельзя будет делать:

Code:

10 randomize usr 49152
20 randomize usr 49157
30 pause 1
40 goto 20

А вообще да, лучше забыть о бейсике и делать все кодом.

Мне одному кажется, что в этой проге что-то не то?
Вызывать 49157 надо 50 раз в секунду, а не 1...

Vitamin 31st July 2010 15:34

Quote:

Originally Posted by SAM style (Post 303001)
Мне одному кажется, что в этой проге что-то не то?
Вызывать 49157 надо 50 раз в секунду, а не 1...

Мне одному кажется, что аргумент pause в прерываниях меряется, а не в секундах? :-)

Лас 31st July 2010 15:34

Quote:

Originally Posted by SAM style (Post 303001)
Мне одному кажется, что в этой проге что-то не то?
Вызывать 49157 надо 50 раз в секунду, а не 1...

В этой проге всё правильно. Значение Pause указывается не в секундах, а в кадрах. (с)Steven Vickers
http://www.worldofspectrum.org/ZXBas...manchap18.html


All times are GMT +4. The time now is 00:52.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.