Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Kivy de basit animsyonlar nasıl oluşturulur
#1
Kivy ile yapılmış bir programda nasıl basit bir animasyon yapabilirim? Mesala her 3 saniyede saga giden bir button animasyon
Ara
Cevapla
#2
PHP Kod:
#-*-coding:utf8;-*-
import kivy
from kivy
.app import App
from kivy
.lang import Builder
from kivy
.uix.button import Button
from kivy
.uix.floatlayout import FloatLayout
from kivy
.animation import Animation
from kivy
.clock import Clock

Builder
.load_string("""
<MainApp>:
    pos_hint: {'center_x':.5,'center_y':.5}
    canvas:
        Color:
            rgba: .4, .4, .6, 1
        Rectangle:
            pos: self.pos
            size: self.size             
            
    Button:
        id: oynat
        size_hint: .1,.05
        pos_hint: {'center_x':.1,'center_y':.5}
        canvas:
            Color:
                rgba: .7, .7, .7, 1
            Rectangle:
                pos: self.pos
                size: self.size             
                                                                                                                                                                                                                                                                                           
"""
)

class 
MainApp(FloatLayout):
    
pass

    
class MyApp(App):
    
    
def on_start(self):
        
Clock.schedule_interval(self.animasyon,1)
        
self.sayi .1
    
    def animasyon
(self,*args):
        
self.sayi += .1
        animation 
Animation(pos_hint={'center_x':self.sayi,'center_y':.5},t='out_quad',duration=0.5)
        
animation.start(self.app.ids.oynat)
            
                                        
    
def build(self):
        
self.app=MainApp()
        return 
self.app
        
MyApp
().run() 
Ara
Cevapla
#3
Bunun başka nasıl kullanabilirim? Yani bir formülü varmı bunun? Big Grin
Ara
Cevapla
#4
@SD-16 abi belki işinize yarar bu kod.


#-*-coding:utf8;-*-
#qpy:2
#qpy:kivy

from kivy.app import App
from kivy.clock import Clock
from kivy.lang import Builder
from kivy.properties import NumericProperty, ListProperty
from kivy.uix.widget import Widget

KV = '''
#:import chain itertools.chain
#:import sin math.sin
#:import cos math.cos
#:import pi math.pi
<Flower>:
   iangle: (2. * pi) / self.petals
   color: abs(sin(app.time)), abs(cos(app.time)), abs(sin(app.time * 2)), .1
   vertices:
       list(
       chain(*[(
       self.center_x + sin(app.time) * .8 * root.radius * cos(root.iangle * n),
       self.center_y + sin(app.time) * .8 * root.radius * sin(root.iangle * n),
       0, 0,
       self.center_x + sin(app.time) * .8 * root.radius * cos(root.iangle * n + sin(app.time)) + cos(2 * pi * a / self.precision) * root.radius,
       self.center_y + sin(app.time) * .8 * root.radius * sin(root.iangle * n + cos(app.time)) + sin(2 * pi * a / self.precision) * root.radius,
       0, 0,
       self.center_x + sin(app.time) * .8 * root.radius * cos(root.iangle * n + sin(app.time)) + cos(2 * pi * (a + 1) / self.precision) * root.radius,
       self.center_y + sin(app.time) * .8 * root.radius * sin(root.iangle * n + cos(app.time)) + sin(2 * pi * (a + 1) / self.precision) * root.radius,
       0, 0
       ) for a in range(self.precision) for n in range(root.petals)])
       )
   canvas:
       Color:
           rgba: self.color
       Mesh:
           mode: 'triangles'
           vertices: self.vertices if self.vertices else []
           indices: range(len(self.vertices) // 4) if self.vertices else []
'''  # noqa


class Flower(Widget):
   petals = NumericProperty(10)
   radius = NumericProperty(200)
   iangle = NumericProperty(0)
   precision = NumericProperty(20)
   color = ListProperty([1, 1, 1, .1])


class BnBApp(App):
   time = NumericProperty(0)

   def build(self):
       Builder.load_string(KV)
       Clock.schedule_interval(self.update_time, 0)
       self.root = Flower(petals=10, precision=40)
       return self.root

   def update_time(self, dt):
       self.time += dt


if __name__ == '__main__':
   BnBApp().run()
Cevapla

{lang: 'en'}


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Kivy Dili Soru & Cevap Ethnic 215 138,413 28-04-2020, Saat: 12:11
Son Yorum: SD-16
  Kivy programını .exe yapmak SD-16 3 3,280 15-04-2019, Saat: 01:20
Son Yorum: gecemor
  Kivy button SD-16 4 3,514 26-01-2019, Saat: 22:33
Son Yorum: SD-16
  Kivy yazıcı modülü SD-16 1 2,117 27-11-2018, Saat: 22:19
Son Yorum: Ethnic
  Kivy de başka sınıftaki propertyi app sınıfında kullanma SD-16 5 4,328 26-08-2018, Saat: 17:33
Son Yorum: gecemor

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme