Physik

MiniWorldmaker hat eine integrierte Physik-Umgebung.

Damit ein Objekt physikalisch simuliert wird, musst du die Methode setup_physics() überschreiben.

Beispiel:

class Paddle(Rectangle):
    def setup(self):
        self.size = (10, 80)
        self.costume.is_rotatable = False

    def setup_physics(self):
        self.physics.stable = True
        self.physics.can_move = True
        self.physics.mass = "inf"
        self.physics.friction = 0
        self.physics.gravity = False
        self.physics.elasticity = 1

Wenn die Methode implementiert ist, wird die Physik-Engine vor Ausführung der setup()-Methode initialisiert. Sobald die Engine initialisiert ist kannst du Objekte “anschubsen”. Dies geht folgendermaßen:

class Ball(Circle):

    def on_setup(self):
        self.direction = 30
        self.physics.impulse_in_direction(300)

oder folgendermaßen:

class Bird(Actor):

    def on_setup(self):
        ...
        self.physics.velocity_x = 600
        self.physics.velocity_y = - self.board.arrow.direction * 50