Page 234 - Em Học Python
P. 234
TẠO LỚP BALL
Giờ ta sẽ tạo ra một lớp cho quả bóng. Code ban đầu chỉ cần đủ để vẽ quả bóng ra
màn hình thôi. Ta sẽ cần làm những việc sau:
- Tạo ra lớp Ball nhận các tham số là bảng vẽ và màu của bóng.
- Lưu bảng vẽ lại thành một đối tượng vì ta sẽ cần phải vẽ bóng lên trên đó.
- Vẽ một hình tròn trên bảng vẽ và tô bằng màu được truyền vào từ tham số.
- Lưu lại số hiệu mà tkinter trả về khi nó vẽ ra hình tròn vì ta sẽ cần dùng số hiệu
này để di chuyển bóng về sau.
- Đưa hình tròn ra giữa bảng vẽ.
Thêm đoạn code này vào sau ba dòng đầu tiên của file (sau import ime
)
:
t
from kinter mport
i
*
t
import andom
r
import ime
t
:
B
class all
ef _init__ self, anvas, olor):
d
c
_
c
(
s
c
elf.canvas anvas
=
f
s
2
elf.id anvas.create_oval(10, 0, 5, 5, ill=color)
c
2
=
1
2
elf.canvas.move(self.id, 45, 00)
1
s
d
ef raw self):
(
d
p
ass
.
Đầu tiên ta đặt tên lớp là Ball ở ❶ Sau đó viết hàm khởi tạo (như trong Chương 8)
nhận các tham số canvas và color ở ❷. Tại ❸, ta tạo ra biến canvas để lưu lại tham số
canvas
.
Ở ❹, ta gọi hàm create_oval với năm tham số tất cả: toạ độ x và y của góc trên bên
trái (10 và 10), toạ độ x và y của góc dưới bên phải (25 và 25), và màu của hình tròn.
Hàm create_oval trả về số hiệu của hình vừa được vẽ, ta lưu lại số hiệu này vào
biến id Ở ❺, ta đưa hình tròn đến chính giữa bảng vẽ (vị trí 245, 100), và bảng vẽ biết chính
.
xác nó phải di chuyển cái gì, vì ta đã sử dụng chính số hiệu (biến id được lưu lại lúc nãy.
)
208 Chương 13