Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from kivy.app import App
- from kivy.lang import Builder
- from kivy.uix.widget import Widget
- from kivy.graphics import Color, Rectangle
- from kivy.clock import Clock
- from kivy.utils import get_random_color
- from random import randint
- kv = """
- FloatLayout:
- Label:
- text: 'Falling Boxes'
- FallingBoxes:
- id: fb
- """
- class FallingBoxes(Widget):
- def __init__(self, **kwargs):
- super().__init__(**kwargs)
- self.boxes = []
- Clock.schedule_interval(self.update_boxes, 1 / 60)
- def create_box(self):
- with self.canvas:
- Color(rgba=get_random_color())
- box = Rectangle(size=(20, 20), pos=(randint(0, 600), 800))
- self.boxes.append(box)
- def update_boxes(self, dt):
- for box in self.boxes:
- box.pos = box.pos[0] + randint(1, 10), box.pos[1] - randint(1,20)
- if box.pos[1] < -10:
- box.pos = (randint(0, 600), 800)
- class FallingBoxesApp(App):
- def build(self):
- return Builder.load_string(kv)
- def on_start(self):
- for i in range(1000):
- self.root.ids.fb.create_box()
- FallingBoxesApp().run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement