移動圖形的原理很簡單,就是擦除舊的,畫上新的;同時根據視覺暫留原理,當物體移去時,視神經對物體的印象不會立即消失,而要延續0.1 -0.4秒的時間,只要擦除和重畫足夠快,就能夠形成連續的動畫。
在PyGame中簡單的實現效果如下:
# 主循環
while True:
# 事件處理
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
# 繪製更新圖形
# 屏幕填充黑色,等效於擦除舊圖案
screen.fill(black)
# 計算新的圖形位置
if LEFT >= width - WIDTH or LEFT < 0:
direction = -direction
LEFT += direction
# 起點左上角和長寬確定一個正方形
rectCoord = [LEFT, TOP, LENGTH, WIDTH]
# 生成長方體對象
rect = pygame.Rect(rectCoord)
# 在屏幕上用定義的顏色、形狀、位置、線寬畫長方體
pygame.draw.rect(screen, color, rect, 2)
# 更新屏幕
pygame.display.update()
上面的程序實現了一個來回移動的方塊,效果如下: