World > PhysicsWorld#
PhysicsWorld erweitert die normale Welt um einen pymunk-Raum. Verwende sie, wenn Actors fallen, kollidieren, abprallen oder über Gelenke verbunden werden sollen.
Installiere miniworlds_physics zusammen mit miniworlds und importiere es aus dem separaten Paket:
from miniworlds import Circle, Rectangle
from miniworlds_physics import PhysicsWorld
world = PhysicsWorld(400, 300)
world.gravity = (0, 500)
floor = Rectangle((0, 260), 400, 40)
floor.physics.simulation = "static"
ball = Circle((80, 40), 20)
ball.physics.elasticity = 0.4
ball.physics.shape_type = "circle"
world.run()
Typische Physics-Einstellungen#
world.gravitysteuert die globale Beschleunigung.world.dampingbremst Körper mit der Zeit ab.actor.physics.simulationlegt fest, wie ein Actor an der Physik teilnimmt:simulated,manual,staticoderNone.actor.physicsstellt außerdemdensity,friction,elasticity,shape_typeund Hilfen für Geschwindigkeiten bereit.
Kollisions-Hooks#
Physics-Welten unterstützen spezielle Actor-Callbacks wie on_touching_circle und on_separation_from_circle. Diese erhalten den anderen Actor und Kontaktinformationen aus der Physik-Engine.
Siehe auch das Flappy-Bird-Tutorial für ein größeres Beispiel.