用QBASIC实现背景音乐
下面介绍如何利用陷阱技术编程:
1.事件设置语句:
ON PLAY(n) GOSUB BACKGROUND
其中PLAY为音乐演奏函数
n为任意整数
BACKGROUND为事件处理子程序的入口标号
2.音乐启停控制语句
PLAY {ON|OFF|STOP}
ON:允许音乐演奏事件自陷
OFF:禁止音乐演奏事件自陷
STOP:暂停音乐演奏事件自陷
(关于如何编写音乐的音调和节拍,请参见有关参考书,在此不再赘述。)
子程序的返回语句用RETURN来完成,返回后,程序自动执行PLAY ON语句,我们利用这一个特点,就可以编写一个在后台循环演奏的音乐程序,在我们的程序往下执行的过程中,程序自动演奏音乐。
例如我们想画一个圆球,不断地改变圆球的颜色的同时,在后台演奏音乐;同时,每演奏一遍音乐在屏幕上显示出演奏第几遍音乐,按任意键即可中止程序执行。
程序清单如下:
CLS
SCREEN 12“设置显示模式”
II=2 “循环变量赋初值”
ON PLAY(3) GOSUB BACKGROUND“设置音乐事件自陷”
PLAY ON “允许自陷”
MUSIC$=“MBO3L8CDEFGABED” “设置演奏字符串”
PLAY MUSIC$ “演奏指定的字符串”
LOCATE 8,34:PRINT “按任意键停止”
DO WHILE INKEY$=“”
IF II>4 THEN II-1:GOTO 1
IF II<=1 THEN II=II+1
1 FOR I=1 TO 10000:NEXT 1 “延时语句”
CIRCLE (310,250),60,2 “画圆”
PAINT (310,250),II,2 “在圆内着色”
LOOP “执行颜色循环体”
END
BACKGROUND:“演奏子程序”
A%=A%+1
LOCATE 4,34:PRINT “第”;A%;“遍音乐”
PLAY MUSIC$
RETURN
如此,你编出来的程序一定是“图文并貌,声色俱佳”。