讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 16.8 更流暢的動畫 >

16.8 更流暢的動畫

目前為止,我們已經讓球移動了一次!下面來看能不能用一種更逼真的方式讓它移動。在屏幕上完成動畫時,最好按小步移動,這樣運動看起來是流暢的。下面試試用更小的步移動沙灘球。

我們並不只是讓每一步更小,還要增加一個循環來移動沙灘球(因為我們希望建立很多小步)。在代碼清單 16-12 的基礎上編輯代碼,改為代碼清單 16-13 所示的程序。

如果運行這個程序,應該能看到沙灘球從原先的位置一直移動到窗口的右邊。

代碼清單 16-13 流暢地移動沙灘球圖像

讓球一直移動

在前面的程序中,球一直移動到窗口右邊,然後停下來。現在我們來讓球一直移動下去。

如果只是增加 x 會發生什麼?隨著 x 值的增加,沙灘球會一直右移。不過我們的窗口(顯示表面)在 x = 640 時就到頭了。所以球會消失。試著把代碼清單 16-13 第 10 行中的 for 循環改為:

for looper in range (1, 200):  

現在循環運行次數是原先的兩倍,球會從邊界消失!如果希望繼續看到球,有兩個選擇。

  • 讓球從窗口邊界反彈。

  • 讓球重新翻轉到窗口的另一邊。

下面來看如何實現這兩種做法。