应用QBASIC编制动画一例 刘树玉 1997-01-01   在QBASIC中我们可以利用GET和PUT的存储功能来实现动画。   GET和PUT的应用格式如下:   GET (X1,Y1)-(X2,Y2),数组名   PUT (X,Y),数组名[,粘贴格式]   其中粘贴方式有如下五种方式:   PSET:照原样粘贴   PRESET:原图取反后粘贴   AND:原图与现图作与运算后,保留共同部分,再显示   OR:原图与现图作或运算后,保留现图(背景),再显示   XOR:原图与现图作异或运算后,清除原图,保留现图,再显示   其余参数的设置参见有关书籍,在此不再详述。   假如有一字符串“清屏模拟显示”,从屏幕的左端显示出来,逐渐向右移动,到屏幕右端后弹回,又向左移动,来回循环移动,每循环一次,屏幕的背景变换一次颜色,颜色循环14次以后,程序停止运行。操作步骤如下:   1.定义数组的IG(N)为整数型。   2.利用UCDOS的特殊显示功能造出一个40×40点阵的汉字串,并存储到数组IG(N)和文件F.DAT中,以备其它程序调用。   3.读数据文件F.DAT到数组IG(N)中,如果在同一个程序中有步骤2的话,则可以省略这一步。   4.设置循环体,改变背景的颜色。   程序清单如下:   N=3184 “定义数组的大小”   DIMIG(1 to N) AS INTEGER “定义数组”   OPEN "LPT3:" FOR OUTPUT AS #2   LOCATE 10,10:PRINT #2,CHR$(14);“[{-160|70@40,40)1(4清屏模拟显示}   CLOSE #2   GET(160,72)-(499,108),IG “读取数据到数组IG中”   PUT(100,200),IG   OPEN "F.DAT" FOR OUTPUT AS #2 “将数组写到磁盘文件F.DAT中”   FOR I=1 TO N   PRINT #2,IG(I)   NEXT I   CLOSE #2   OPEN "F.DAT" FOR INPUT AS #1 “打开数据文件F.DAT”   FOR I=1 TO N   INPUT #1,IG(I)“读数据到数组IG中”   NEXT I   CLOSE #1   FOR C=1 TO 14 “设置颜色循环体”   PAINT (10,10),C “给屏幕着底色”   X=0   FOR I=1 TO 298 “从左到右显示”   X=X+1   PUT (X,100),IG,PSET   NEXT I   X=298   FOR I=310 TO 14 STEP -1   “从右到左显示”   X=X-1   PUT (X,100),IG,PSET   NEXT I   NEXT C   END   同理,依上述方法还可以编制出各种各样的动画,诸如弹性碰撞的小球、星星、跳跃前进的画面等等,只要你巧加利用,一定会使你的程序锦上添花。