Page 220 - Em Học Python
P. 220

Tiếp, ta tạo ra một vòng lặp đơn giản để đếm

               từ 0 đến 59, bắt đầu với  for x in range(0, 60):.
                                                  ​
                                                                  ​
                                                        ​
                                           ​
                                               ​
                                                 ​
               Khối code bên trong vòng lặp sẽ di chuyển hình tam
                                               ​
               giác đi ngang màn hình. Hàm canvas.move sẽ di
                                                            ​
               chuyển các các hình đã được vẽ ra bằng cách tăng
               hoặc giảm các toạ độ x và y của chúng. Ví dụ, với
               canvas.move(1, 5, 0), ta di chuyển đối tượng số 1
                                       ​
               (là số hiệu của hình tam giác lúc nãy) sang ngang 5

               điểm ảnh và đi xuống 0 điểm ảnh. Để nó di chuyển

               về vị trí ban đầu, ta có thể gọi  canvas.move(1, -5,
               0).
                  ​

                       Hàm tk.update() buộc  tkinter cập nhật lại cửa sổ (tức là vẽ lại nó). Nếu không
                            ​
                                         ​
                                                        ​
                             ​
               dùng update, tkinter sẽ chờ cho đến khi vòng lặp chạy xong rồi mới di chuyển hình tam
                     ​
                                      ​
                            ​
               giác, nghĩa là em sẽ nhìn thấy hình nhảy một phát đến vị trí cuối cùng luôn thay vì di
               chuyển từ từ ngang qua bảng vẽ. Dòng cuối cùng của vòng lặp,  time.sleep(0.05), nói
                                                                                                   ​
               Python “nghỉ tạm” một phần hai mươi giây (0.05 giây), trước khi chạy tiếp.

                       Để hình tam giác di chuyển chéo xuống góc dưới màn hình, ta có thể sửa code lại

               một chút và gọi  move(1, 5, 5). Để thử code mới, đóng bảng vẽ lại, tạo một file mới ( File ►
                                               ​
                              ​
               New Window) với đoạn code sau:

                       ​
               import time
               from tkinter import *
                                      ​
                    ​
                               ​
               tk = Tk()
               canvas = Canvas(tk, width=400, height=400)
               canvas.pack()
               canvas.create_polygon(10, 10, 10, 60, 50, 35)
                       ​
                   ​
               for x in range(0, 60):
                                ​
                          ​
                         ​
                   canvas.move(1, 5, 5)
                   tk.update()
                   time.sleep(0.05)







               194          Chương 12
                   ​
   215   216   217   218   219   220   221   222   223   224   225