Bu dersimizde fare hareketlerini göreceğiz. Kivy ile bir çok platform için uygulama geliştirebiliriz, bu yüzden bir masaüstü bilgisayarda fare hareketleri diye nitelendirdiğimiz olaylar bir dokunmatik yüzeyde (bir tablet veya telefon gibi…) dokunma hareketleri olarak algılanır.
Bu dersimizde bir tasarım yapmayacağımız için tek bir dosya oluşturuyoruz. Bu dosyamız fare.py.
Kivyde fare hareketlerini bazı fonksiyonlar aracılığı ile yakalıyabiliriz:
def on_touch_down(self,touch):
print touch
ilk fonksiyonumuz yukarıda gördüğünüz gibi kullanılır. on_touch_down fonksiyonu dokunma hareketini veya fare ile bir tık yapma hareketimizi algılar. Gördüğünüz gibi iki parametre almış durumda, touch parametresi dokunduğu bölgenin koordinatlarını tutar, biz bu fonksiyonda bu koordinatları print ile yazdırmışız. Yani biz uygulama ekranında her bir tıklama hareketi yaptığımızda konsol ekranımıza bir koordinat objesi düşmesi gerekir.
Eğer touch.x i print etseydik sadece x noktasının koordinatını elde ederdik veya aynı şekilde touch.y ile y noktasına da ulaşabilirdik.
Aynı şekilde bu parametrelei fareyi sürükleme veya bırakma içinde uygulayabiliriz. Bu fonksiyonlar da sırası ile şu şekildedir;
bu dosyada bilmediğimiz yapılar canvas grafik öğelerini py dosyasında kullandığımız ve kullanmak için uygulamamıza dahil ettiğimiz satırlar. Bu satırlara dikkat ederek py dosyasında nasıl canvas kullandığımızı anlayabilirsiniz.
Burada yaptığımız olay şu: on_touch_down fonksiyonu ile Line için bir başlangıç noktası belirliyoruz daha sonra sürüklediğimizde çizme işlemine devam edebilmesi için on_touch_move fonksiyonu ile fare koordinatlarına ulaşıyoruz ve bu noktaları line yapımıza ekliyoruz. Bunları yapabilmek için Line ve Color gibi grafik yapılarını nasıl dahil ettiğimize dikkat edin. Uygulamayı çalıştırdığınızda basit bir çizim uygulaması elde edeceksiniz.
Eğer sizde uygulamanızda bu şekilde çizimler yapabiliyorsanız herşeyi doğru yaptınız demektir. Eğer bir sorunla karşılaşırsanız youtube kanalımızdan videoları izleyebilir, yorumlardan sorularınızı yazabilirsiniz.