用QBASIC实现背景音乐 刘树玉 1997-01-01   在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 BACKGROUND“设置音乐事件自陷”   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   如此,你编出来的程序一定是“图文并貌,声色俱佳”。