Rùa thực hiện một số hành động khi người dùng nhấn một số phím trên bàn phím hoặc khi người dùng nhấp/di chuyển chuột. Những hành động như vậy được thực hiện khi nhấp chuột hoặc nhấn các phím trên bàn phím được gọi là sự kiện trong python rùa. Sự kiện có thể được thực hiện theo hai cách
- Sự kiện chuột – hành động được kích hoạt khi nhấp vào nút chuột
- Sự kiện bàn phím – hành động được kích hoạt khi nhấn một phím từ bàn phím
Một hành động được kích hoạt do nhấp chuột vào nút chuột được gọi là sự kiện chuột. Chúng ta có thể thực hiện một sự kiện chuột theo bốn cách
- trong một cái nhấp chuột[]
- phát hành[]
- ondrag[]
- onscreenclick[]
Trước khi xem xét tất cả bốn phương thức của sự kiện chuột, chúng ta hãy nói về các tham số mà phương thức đưa vào. Tất cả bốn phương pháp chấp nhận ba tham số như được liệt kê dưới đây
- fun – một hàm có hai đối số sẽ được gọi với tọa độ của điểm được nhấp trên khung vẽ
- btn – số nút chuột, mặc định là 1 [i. e, nút trái]
- Nút chuột 1 – nút trái
- Nút chuột 2 – nút giữa
- Nút chuột 3 – nút phải
- thêm – Đúng hoặc Sai [nếu Đúng, một ràng buộc mới sẽ được thêm vào, nếu không, nó sẽ thay thế một ràng buộc cũ]
Không cần lo lắng nếu bạn không rõ về các thông số. Bạn sẽ hiểu rõ hơn khi các phương pháp được giải thích kèm theo ví dụ. Bây giờ, chúng ta hãy xem xét cả bốn phương thức của sự kiện chuột với một ví dụ
1. trong một cái nhấp chuột[]Rùa thực hiện một hành động khi người dùng nhấp chuột vào rùa
cú pháp
title[fun, btn=1, add=None]
theo mặc định, btn sẽ là 1[i. e. nhấp chuột trái] và sau đó thêm là Không có
Ví dụ
from turtle import * pensize[5] shape["turtle"] def square[x, y]: for i in range[4]: forward[200] left[90] title[square]
Giải thích. Chúng tôi đã khai báo một hàm có tên là hình vuông sẽ vẽ cho chúng tôi một hình vuông có cạnh 200px. Bên trong hàm đã truyền 2 tham số i. e x và y. Điều này là do theo tham số đầu tiên của phương thức [vui vẻ], một hàm có hai đối số [x, y] sẽ được gọi với tọa độ của điểm được nhấp trên canvas. Cuối cùng, khi chúng ta gọi một hàm, hàm đó đã được gọi bằng phương thức title[]. Theo đó, chức năng sẽ chỉ được thực thi khi nút trái trên chuột được nhấp vào con rùa. Chúng tôi không đề cập rõ ràng đến nút chuột vì theo mặc định, nút trái sẽ được coi là đối số cho tham số btn.
đầu ra
Con rùa thực hiện một hành động khi người dùng nhấp vào canvas
cú pháp
onscreenclick[fun, btn=1, add=None]
Ví dụ
Sự khác biệt giữa phương thức title[] và onscreenclick[] là hành động sẽ được kích hoạt [để vẽ hình vuông] khi bạn nhấp chuột trái vào bất kỳ canvas nào. Trong onscreenclick[], nó không cần phải đặc biệt trên con rùa
from turtle import * pensize[5] shape["turtle"] def square[x, y]: for i in range[4]: forward[200] left[90] onscreenclick[square]
đầu ra
Trong phương pháp này, Rùa chỉ thực hiện một hành động khi con chuột được nhấp được thả ra khỏi rùa
cú pháp
onrelease[fun, btn = 1, add=True]
mặc định btn sẽ được click chuột trái và add là True
Ví dụ
Để hiểu rõ hơn về phương thức onrelease[], chúng ta hãy thử với ví dụ tương tự được sử dụng trên phương thức title[]. Sự khác biệt duy nhất là hình vuông sẽ được vẽ khi bạn nhấp chuột trái từ con rùa
from turtle import * pensize[5] shape["turtle"] def square[x, y]: for i in range[4]: forward[200] left[90] onrelease[square]
đầu ra
Con rùa thực hiện một hành động khi người dùng kéo con rùa
cú pháp
ondrag [fun, btn=1, add=None]
theo mặc định, btn sẽ được nhấp chuột trái và thêm là Không có
Ví dụ
from turtle import * shape["turtle"] color["blue"] shapesize[2] speed[10] pensize[3] def draw[x,y]: # stop backtracking ondrag[None] # drawing as per the x and y # coordinates of mouse movement goto[x, y] # Call fun again ondrag[draw] ondrag[draw] # take screen in mainloop mainloop[]
đầu ra
Trong ví dụ trên, chúng tôi đã sử dụng mainloop[], đây phải là câu lệnh cuối cùng trong chương trình đồ họa con rùa. Nó được sử dụng để gọi chức năng vòng lặp chính của Tkinter
Sự kiện bàn phímHành động sẽ được kích hoạt khi người dùng nhấn một phím trên bàn phím. Và nó được gọi là sự kiện bàn phím
Ghi chú. Phương thức listen[] với các đối số giả từ mô-đun rùa được sử dụng cùng với phương thức sự kiện bàn phím để đặt tiêu điểm trên màn hình Rùa
Tất cả các phương thức sự kiện bàn phím đều chấp nhận hai tham số được đề cập bên dưới
- fun – tên của một hàm không có đối số
- key – tên của key. Nó phải là kiểu dữ liệu chuỗi, chẳng hạn như “a”, “b”, v.v… hoặc nếu bạn muốn sử dụng các ký hiệu khóa thì hãy ghi tên khóa dưới dạng chuỗi, chẳng hạn như “dấu cách”, “lên”, “xuống”, “
Phương thức onkey[] và onkeyrelease[] gọi hàm do người dùng định nghĩa và thực hiện hành động được xác định bên trong hàm khi nhấn phím đã chỉ định. Cả hai tham số đều được yêu cầu trong phương pháp này
cú pháp
________số 8
Ví dụ [phương thức onkey[]]
from turtle import * pensize[5] shape["turtle"] def cir[]: circle[100] def square[]: for i in range[4]: forward[150] left[90] onkey[cir, "c"] onkey[square, "s"] listen[]
đầu ra
Phương thức onkeypress[] thực hiện một hành động tương tự như phương thức onkey[], sự khác biệt duy nhất giữa hai phương thức là tham số thứ hai trong phương thức onkeypress[] là tùy chọn trong khi nó là bắt buộc trong phương thức onkey[]. Nếu khóa không được đề cập rõ ràng trong phương thức onkeypress[], thì bất kỳ khóa nào cũng sẽ được sử dụng để kích hoạt một hành động
cú pháp
from turtle import * pensize[5] shape["turtle"] def square[x, y]: for i in range[4]: forward[200] left[90] title[square]0
Ví dụ
from turtle import * pensize[5] shape["turtle"] def square[x, y]: for i in range[4]: forward[200] left[90] title[square]1
đầu ra
Các sự kiện trong python rùa được sử dụng để kích hoạt một số hành động và nó được sử dụng trong quá trình phát triển trò chơi và bản vẽ