主题:请教用“屏幕页显示”动画发现的问题
下面的程序在XP中运行,画面正常。如果在纯DOS中用QB运行,移动小球时发现画面中的一段文字不能正常显示(闪烁),这是什么原因???谢谢指教!!!
'这是用屏幕页技术显示的画面,用左右箭头移动小球运动
SCREEN 9, , 1, 0 '设定1页为非当前页,0页为当前页
LET y = 300
DO
CLS 1 '1页清屏
CIRCLE (y, 150), 50, 14 '画圆
LINE (50, 190)-(550, 190), 12
LINE (50, 110)-(550, 110), 12
LOCATE 6, 30
COLOR 7
PRINT "这是用屏幕页技术显示的动画"
PCOPY 1, 0 '1页的内容复制到0页
DO
LET k$ = INKEY$
LOOP UNTIL k$ = CHR$(27) OR k$ = CHR$(0) + CHR$(77) OR k$ = CHR$(0) + CHR$(75)
SELECT CASE k$ '左右移动小球
CASE CHR$(27)
EXIT DO
CASE CHR$(0) + CHR$(77)
LET y = y + 10
IF y > 500 THEN LET y = 110
CASE CHR$(0) + CHR$(75)
LET y = y - 10
IF y < 110 THEN LET y = 500
END SELECT
LOOP
END
'这是用屏幕页技术显示的画面,用左右箭头移动小球运动
SCREEN 9, , 1, 0 '设定1页为非当前页,0页为当前页
LET y = 300
DO
CLS 1 '1页清屏
CIRCLE (y, 150), 50, 14 '画圆
LINE (50, 190)-(550, 190), 12
LINE (50, 110)-(550, 110), 12
LOCATE 6, 30
COLOR 7
PRINT "这是用屏幕页技术显示的动画"
PCOPY 1, 0 '1页的内容复制到0页
DO
LET k$ = INKEY$
LOOP UNTIL k$ = CHR$(27) OR k$ = CHR$(0) + CHR$(77) OR k$ = CHR$(0) + CHR$(75)
SELECT CASE k$ '左右移动小球
CASE CHR$(27)
EXIT DO
CASE CHR$(0) + CHR$(77)
LET y = y + 10
IF y > 500 THEN LET y = 110
CASE CHR$(0) + CHR$(75)
LET y = y - 10
IF y < 110 THEN LET y = 500
END SELECT
LOOP
END