Python All: Cách tạo hình dạng Turtle tùy chỉnh


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Trong Turtle, theo mặc định, chúng ta có một con trỏ hình đầu mũi tên để vẽ trên canvas. Điều này có thể được thay đổi thành một số hình dạng được xác định trước khác hoặc chúng tôi cũng có thể tạo một hình dạng tùy chỉnh và đăng ký nó dưới một tên. Không chỉ vậy, chúng ta thậm chí có thể sử dụng hình ảnh định dạng gif để thay thế con trỏ của mình.

Thay đổi con trỏ thành các hình dạng xác định trước

Hàm shape() được sử dụng để thiết lập hình dạng của con trỏ. Các hình dạng được xác định trước bao gồm rùamũi tên, hình trònhình vuông và hình tam giác.

import turtle

# tạo đối tượng rùa
c_turtle = turtle.Turtle()

# thay đổi sang dạng tròn cho rùa
c_turtle.shape('circle')

Kết quả:

Dùng hàm shape() để thiết lập dạng trong Turtle

Đăng ký hình dạng mới

Module turtle có hàm register_shape() dùng để đăng ký các dạng mới một cách tùy chỉnh.

Cú pháp: turtle.register_shape(name, shape)
Các thông số:

  • name: một chuỗi là tên của hình dạng được đăng ký, tên này cũng ta tự đặt.
  • shape: một bộ giá trị bao gồm các tọa độ cho hình dạng tùy chỉnh.

Đối số shape của hàm register_shape() là một tuple trong đó bao gồm n tuple con biểu thị các vị trí tương đối của mỗi góc của đa giác n cạnh, n phải tối thiểu là 3. Chúng ta hãy thử tạo một hình dạng kim cương (dạng hình thoi) đơn giản để hiểu rõ hơn điều này.

Xét hình thoi dưới đây, có độ dài đường chéo = 20, trong một mặt phẳng Descartes (Đề-các):

Để tạo ra hình dạng này, chúng ta cần chuyển các tọa độ này theo thứ tự chiều kim đồng hồ như đoạn code sau:

import turtle

# tạo đối tượng rùa
dimond_turtle = turtle.Turtle()

# tọa độ của mỗi góc
shape = ((0, 0), (10, 10), (20, 0), (10, -10))

# đăng ký registering the new shape 
turtle.register_shape('diamond', shape)

# thay đổi dạng của rùa thành 'diamond' 
dimond_turtle.shape('diamond')

Kết quả:

Dạng kim cương

Sử dụng hình ảnh cho làm dạng cho rùa

Để sử dụng một hình ảnh làm dạng cho con rùa thì chúng ta cần chuyển đường dẫn tệp hình ảnh làm tham số của hàm register_shape(). Lưu ý rằng hình ảnh này phải ở định dạng là ảnh gif.

Cách thức thực hiện như thể hiện ở đoạn code dưới đây:

import turtle

# tạo đối tượng rùa
img_turtle = turtle.Turtle()

# đặng ký ảnh làm dạng mới cho rùa
turtle.register_shape('example.gif')

# thiết lập ảnh làm dạng mới cho rùa
img_turtle.shape('example.gif')

Kết quả ví dụ:

Dạng mới của rùa là ảnh

» Tiếp: Vẽ và tô màu cho hình vuông
« Trước: Các lớp phổ biến
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!