Page 149 - E-Modul Coding For Kids Berbasis Raspberry Pi
P. 149

Ini versi singkatnya canvasclick itu akan memungkinkan Anda memastikan bahwa klik

                    mouse  terdeteksi  dengan  benar.  Letakkan  di  bawah  dapatkan  pet  aberfungsi  sebagai
                    berikut:



                       def canvasclick(event):
                           print "Mouse click at position", event.x, event.y


                    Saat Anda menjalankan program ini, sepasang angka akan muncul di shell setiap kali Anda
                    mengklik sebuah kartu. Angka-angka ini berubah tergantung di mana Anda mengklik peta.

                    Namun, yang sebenarnya kami inginkan adalah dapat menggambar penanda pada peta
                    untuk menyorot tempat-tempat menarik. Mengganti printline dengan kode berikut akan

                    menggambar lingkaran di setiap lokasi yang diklik pada peta.


                         x,y = event.x, event.y

                         widget = event.widget
                         size = 10
                         widget.create_oval(x-size, y-size, x+size, y+size, width=2)


                    Kami  akan  menggunakan  event.x  dan  event.y    beberapa  kali,  jadi  di  sini  kami

                    memberi mereka nama yang lebih sesuai x dan y. Kami telah melakukan hal yang sama
                    untuk event.widget (widget yang menerima acara klik mouse ini), memberinya nama

                    yang lebih sesuai widget. Itu size variabel menyimpan jarak, dalam piksel, dari posisi

                    klik ke tepi lingkaran.


                    Anda  dapat  mengubahnya  jika  Anda  mau.  Terakhir,  gambar  lingkaran  menggunakan
                    widget.create_oval. Empat argumen pertama  adalah koordinat tepi kiri, atas, kanan,

                    dan bawah lingkaran, dan lebar adalah lebar garis yang digunakan untuk menggambar

                    lingkaran.  Anda  dapat  menambahkan  argumen  tambahan.  Misalnya,  tentukan
                    "outline="red" untuk mengubah warna garis, atau "fill="blue" untuk mengubah

                    warna  bagian  dalam.  Saya  sangat  menyukai  argumen  activeoutline  dan

                    activefill. Cara kerjanya sama, namun warnanya hanya muncul saat mouse berada di
                    atas penanda. Bereksperimenlah hingga Anda menemukan desain penanda yang Anda

                    sukai.





                                                           138
   144   145   146   147   148   149   150   151   152   153   154