Üst Üye
Üyelik Tarihi: 04-07-2018
Yorum Sayısı: 163
Konu Sayısı: 35
Rep Puanı:
0
animasyonla pencerede gezen ikin butonu veya yuvarlak canvası bir yere carpınca geri dönmesi icin ne kullanmam lazım?
Geliştirici Üye
Üyelik Tarihi: 06-03-2016
Yorum Sayısı: 1,344
Konu Sayısı: 40
Rep Puanı:
38
wow güzel soru
aslında hep aklımda olan, boş bir zamanımda hep denemek istediğim ama nedense o boş zamanı yakalayamadığım bir çalışma.
tek yönlü bir git gel olacaksa elbetteki basit bir işlem olacaktır fakat bir bilardo topu gibi çarptığı açıya göre yeniden yön alıp sağa sola doğru amaçsızca dolaşacaksa ve var olan bir çalışmadan kopya çekilmeyecekse sağlam bir hesaplama gerektirir.
o yüzden matematiği iyi olan arkadaşları buraya alalım deyip ortayı yapıp kaçıyorum
Üst Üye
Üyelik Tarihi: 04-07-2018
Yorum Sayısı: 163
Konu Sayısı: 35
Rep Puanı:
0
28-01-2019, Saat: 03:07
(Son Düzenleme: 28-01-2019, Saat: 03:08, Düzenleyen: SD-16.)
Benimde çok merak ettigim bir şey ama çokta matematik gerekmiyor bence. kivynin sayfasında pong oyununda var. Ordan kopya çekmeye çalışdım anlamadım. Aslında basit gibi gözüküyor ama bir yerden sonra kopuyor. Sonra boş boş bakıyorum. Başka cevap gelcek mi ona bakalım.
Yanlış anlamayın ama benim bu gibi durumlarda soruyu soran kişilerden beklentim; eğer varsa elinde kendince yapmaya çalıştığı bir kod betiğini, yoksa da web üzerinden bulduğu veya örnek vereceği bir çalışmayı göstererek soru sormasıdır.
Neden? çünkü bazen insanlar bütün kodu baştan yazmak istemeyebilir, yazabilecek kapasitede olup da sizin kafanızdaki tam modeli anlamamış olabilir, nasıl yapılacağı hakkında az çok fikri vardır ama gerekli modül kullanımı araştırması gerekebilir. Hiç bir fikri dahi olmasa belki kişi kodları inceleyerek bir fikir verebilir veya yapımda yardımcı olabilir, yönlendirebilir.
Daha aklıma gelmeyen bir çok faktör sayılabilir, tabi yine de siz bilirsiniz.
Süper Üye
Üyelik Tarihi: 14-09-2017
Yorum Sayısı: 263
Konu Sayısı: 1
Rep Puanı:
3
gecemor boşa söylüyosun bunları. geçen @Ethnic e şu kodu biraz açıkla dedim adam dalga geçiyor, öğrenmek anlamak isteyene en ufak bi faydası olsun istemiyor. yardım almak isteyen stackoverflow gibi daha profesyonel ortamlara yönelsin bence
Geliştirici Üye
Üyelik Tarihi: 06-03-2016
Yorum Sayısı: 1,344
Konu Sayısı: 40
Rep Puanı:
38
(28-01-2019, Saat: 11:35)excel Nickli Kullanıcıdan Alıntı: gecemor boşa söylüyosun bunları. geçen @Ethnic e şu kodu biraz açıkla dedim adam dalga geçiyor, öğrenmek anlamak isteyene en ufak bi faydası olsun istemiyor. yardım almak isteyen stackoverflow gibi daha profesyonel ortamlara yönelsin bence
Ben bu aralar foruma pek yazmıyor olabilirim ama sürekli takip ediyorum. Forumdaki hemen herkesin karaterini biliyorum. Benim için sadece soru değil soranda önemlidir. O soruyu samimiyetle sorduğundan süphem olmazsa yanıtlardım, ama yazdığım kod'un altına "google diye bir site var çok güzel" diye dalga geçen, şimdide dalga geçilmesinden şikayet eden birinin samimiyetinden nasıl emin olabilirim???
Geliştirici Üye
Üyelik Tarihi: 06-03-2016
Yorum Sayısı: 1,344
Konu Sayısı: 40
Rep Puanı:
38
(28-01-2019, Saat: 10:57)gecemor Nickli Kullanıcıdan Alıntı: Yanlış anlamayın ama benim bu gibi durumlarda soruyu soran kişilerden beklentim; eğer varsa elinde kendince yapmaya çalıştığı bir kod betiğini, yoksa da web üzerinden bulduğu veya örnek vereceği bir çalışmayı göstererek soru sormasıdır.
Neden? çünkü bazen insanlar bütün kodu baştan yazmak istemeyebilir, yazabilecek kapasitede olup da sizin kafanızdaki tam modeli anlamamış olabilir, nasıl yapılacağı hakkında az çok fikri vardır ama gerekli modül kullanımı araştırması gerekebilir. Hiç bir fikri dahi olmasa belki kişi kodları inceleyerek bir fikir verebilir veya yapımda yardımcı olabilir, yönlendirebilir.
Daha aklıma gelmeyen bir çok faktör sayılabilir, tabi yine de siz bilirsiniz.
Aynen katılıyorum ki daha önce bende Suat'ı bu konuda uyarmıstım diye hatırlıyorum, muhtemelen unutmuştur diyelim.
Süper Üye
Üyelik Tarihi: 14-09-2017
Yorum Sayısı: 263
Konu Sayısı: 1
Rep Puanı:
3
@Ethnic sende de ne biçim kin varmış, ben kendim hatırlamıyorum öyle bişey yazdığımı
Geliştirici Üye
Üyelik Tarihi: 06-03-2016
Yorum Sayısı: 1,344
Konu Sayısı: 40
Rep Puanı:
38
@excel işine gelmezse hatırlamazsın tabi
Üst Üye
Üyelik Tarihi: 04-07-2018
Yorum Sayısı: 163
Konu Sayısı: 35
Rep Puanı:
0
Yok Unutmadım, kodları var.
Kivydeki animasyonlara bakdım ama düzgün birşey anlamadıgım icin bende kendim yapmaya calısdım. ilk bu şekilde yaptım.
PHP Kod:
from kivy.app import App from kivy.lang import Builder from kivy.uix.floatlayout import FloatLayout from kivy.clock import Clock from kivy.properties import NumericProperty Builder.load_string(""" <main2>: Button: text: "Tıkla" size_hint: .2,.1 id: bt pos_hint: {"x": 0, "y": 0} background_color: 1,0,0,10 on_press: root.hareket() """)
class main2(FloatLayout): a = NumericProperty(0) def hareket(self): self.ids.bt.disabled = True Clock.schedule_interval(self.animasyon, .0001) def animasyon(self, p): print("yukarı") if self.ids.bt.pos_hint == {"y": 0.6000000000000004}: Clock.unschedule(self.animasyon) Clock.schedule_interval(self.aaa, .01) else: self.a += .001 self.ids.bt.pos_hint = {"y": self.a} def aaa(self, p): print("assagı") if self.ids.bt.pos_hint == {"y": -0.008000000000000104}: Clock.unschedule(self.aaa) Clock.schedule_interval(self.animasyon, .0001) else: self.a -= .001 self.ids.bt.pos_hint = {"y": self.a} class main(App): def build(self): return main2()
if __name__ == '__main__': main().run()
Buna biraz daha ekleme yaparak oyun sekline getirmeye calısdım. son halide bu.
PHP Kod:
from kivy.app import App from kivy.lang import Builder from kivy.uix.floatlayout import FloatLayout from kivy.clock import Clock from kivy.core.window import Window Builder.load_string(""" <main2>: Button: size_hint: .1,.1 pos_hint: {"x": .6, "y": .4} disabled: True background_color: 0,1,1,11 Button: size_hint: .2,.1 id: bt pos_hint: {"x": 0, "y": 0} disabled: True background_color: 0,1,0,11 Button: text: "[b]W[/b]" markup: True id: w_ font_size: self.width / 4 on_press: root.www_animasyon() size_hint: .1,.1 color: 0,0,0,1 background_color: 11,22,0,11 pos_hint: {"x": .8, "y": .2} Button: text: "[b]S[/b]" markup: True id: s_ color: 0,0,0,1 font_size: self.width / 4 size_hint: .1,.1 background_color: 11,22,0,11 pos_hint: {"x": .8, "y": 0} on_press: root.sss_animasyon() Button: text: "[b]D[/b]" markup: True id: d_ font_size: self.width / 4 color: 0,0,0,1 background_color: 11,22,0,11 size_hint: .1,.1 pos_hint: {"x": .7, "y": .1} on_press: root.ddd_animasyon() Button: text: "[b]A[/b]" id: a_ size_hint: .1,.1 color: 0,0,0,1 markup: True font_size: self.width / 4 background_color: 11,22,0,11 pos_hint: {"x": .9, "y": .1} on_press: root.aaa_animasyon() Button: color: 1,0,0,1 markup: True background_color: 11,22,0,11 text: "[b]STOP[/b]" font_size: self.width / 4 size_hint: .1,.1 pos_hint: {"x": .8, "y": .1} on_press: root.dur()
""")
a = [0] b = [a[0]]
class main2(FloatLayout): def www_animasyon(self): self.ids.w_.disabled = True self.ids.s_.disabled = False self.ids.a_.disabled = False self.ids.d_.disabled = False Clock.unschedule(self.sss) Clock.unschedule(self.aaa) Clock.unschedule(self.ddd) Clock.schedule_interval(self.www, .001) def www(self, p): a[0] += .001 self.ids.bt.pos_hint = {"y": a[0]}
def sss_animasyon(self): self.ids.w_.disabled = False self.ids.s_.disabled = True self.ids.a_.disabled = False self.ids.d_.disabled = False Clock.unschedule(self.www) Clock.unschedule(self.ddd) Clock.unschedule(self.aaa) Clock.schedule_interval(self.sss, .001) def sss(self, p): a[0] -= .001 self.ids.bt.pos_hint = {"y": a[0]}
def ddd_animasyon(self): self.ids.w_.disabled = False self.ids.s_.disabled = False self.ids.a_.disabled = False self.ids.d_.disabled = True Clock.unschedule(self.www) Clock.unschedule(self.sss) Clock.unschedule(self.aaa) Clock.schedule_interval(self.ddd, .0001) def ddd(self, p): b[0] -= .001 self.ids.bt.pos_hint = {"x": b[0]}
def aaa_animasyon(self): self.ids.w_.disabled = False self.ids.s_.disabled = False self.ids.a_.disabled = True self.ids.d_.disabled = False Clock.unschedule(self.ddd) Clock.unschedule(self.sss) Clock.unschedule(self.www) Clock.schedule_interval(self.aaa, .0001) def aaa(self, p): b[0] += .001 self.ids.bt.pos_hint = {"x": b[0]}
def dur(self): self.ids.w_.disabled = False self.ids.s_.disabled = False self.ids.a_.disabled = False self.ids.d_.disabled = False Clock.unschedule(self.aaa) Clock.unschedule(self.sss) Clock.unschedule(self.www) Clock.unschedule(self.ddd)
class main(App): def build(self): return main2()
if __name__ == '__main__': Window.clearcolor = (.3,.3,.3,1) main().run()
Tek gereken sey hareket eden butonu diger butona dokundugun da bir patlama efekti vermeye calısmak.
|