Ders Notları: Grafikler Referansı

Dosya: catch_me_if_you_can.py

  1. Tuvale mavi "sinsi" bir kare ekleyin.

  2. Tuvale 20 siyah kare ekleyin.

  3. Programı sonsuza kadar çalıştırın, farenin konumunu izleyin ve "sinsi" kareyi fare ona dokunduğunda rastgele bir konuma getirin.

Fare "sinsi" kareye dokunduğunda, kare hareket eder.

Farenin sinsi kareye dokunup dokunmadığını nasıl anlarız? Tuval üzerinde find_overlapping adında kullanabileceğiniz bir fonksiyon var. Bize tuval üzerinde belirli bir kare ile örtüşen tüm nesnelerin bir listesini verir ve bu listenin üzerinde gezebiliriz. Örneğin:

overlapping_objects = canvas.find_overlapping(x1, y1, x2, y2)
for overlapping_object in overlapping_objects:
    # overlapping_object ile bir şeyler yap ...

The coordinates provided to find_overlapping are the top-left corner and bottom-right corner of the box you want to get all overlapping objects for. You can also specify a single point, like this:

find_overlapping için sağlanan koordinatlar, tüm örtüşen nesneleri almak istediğiniz kutunun sol üst köşesi ve sağ alt köşesidir. Ayrıca aşağıdaki gibi tek bir nokta da belirtebilirsiniz:

overlapping_objects = canvas.find_overlapping(x, y, x, y)

Bu, (x, y) noktası ile örtüşen nesneleri öğrenmemizi sağlayacaktır.