Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Carpısma Yapma
#1
animasyonla pencerede gezen ikin butonu veya yuvarlak canvası bir yere carpınca geri dönmesi icin ne kullanmam lazım?
Ara
Cevapla
#2
wow güzel soru Smile

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. Smile

o yüzden matematiği iyi olan arkadaşları buraya alalım deyip ortayı yapıp kaçıyorum Big Grin
Ara
Cevapla
#3
Benimde çok merak ettigim bir şey ama çokta matematik gerekmiyor bence. Smile 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. Big Grin
Ara
Cevapla
#4
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. Wink
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#5
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
Ara
Cevapla
#6
(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???
Ara
Cevapla
#7
(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. Wink

Aynen katılıyorum ki daha önce bende Suat'ı bu konuda uyarmıstım diye hatırlıyorum, muhtemelen unutmuştur diyelim. Smile
Ara
Cevapla
#8
@Ethnic sende de ne biçim kin varmış, ben kendim hatırlamıyorum öyle bişey yazdığımı Big Grin
Ara
Cevapla
#9
@excel işine gelmezse hatırlamazsın tabi Smile
Ara
Cevapla
#10
Yok Unutmadım,  Smile 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):
    
NumericProperty(0)
    
def hareket(self):
        
self.ids.bt.disabled True
        Clock
.schedule_interval(self.animasyon.0001)
    
def animasyon(selfp):
        print(
"yukarı")
        if 
self.ids.bt.pos_hint == {"y"0.6000000000000004}:
            
Clock.unschedule(self.animasyon)
            
Clock.schedule_interval(self.aaa.01)
        else:
            
self.+=  .001
            self
.ids.bt.pos_hint = {"y"self.a}
    
def aaa(selfp):
        print(
"assagı")
        if 
self.ids.bt.pos_hint == {"y": -0.008000000000000104}:
            
Clock.unschedule(self.aaa)
            
Clock.schedule_interval(self.animasyon.0001)
        else:
            
self.-=  .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.   Smile

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()

"""
)

= [0]
= [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(selfp):
        
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(selfp):
        
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(selfp):
        
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(selfp):
        
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.  Shy
Ara
Cevapla

{lang: 'en'}


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Python kivyde android için klavye yapma SD-16 10 2,805 21-08-2018, Saat: 20:03
Son Yorum: excel

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme