Exemplo n.º 1
0
class World(object):

    _next_id = 0

    def __init__(self):
        self.items = {}
        self.physics = PhysicsWorld()

    def init(self):
        self.physics.init()

    def add(self, item, position):
        item.itemid = World._next_id
        self.items[World._next_id] = item
        World._next_id += 1

        item.physics = PhysicsItem(item)
        self.physics.add(item.physics, position, item.static)

        item.glyph = Glyph.from_item(item)
        

    def update(self):
        self.physics.update(self.items)
        for item in self.items.itervalues():
            item.update()
Exemplo n.º 2
0
import pygame
from pygame.locals import *

from vectors import Vector2D
from physics import PhysicsWorld, RigidBody

pygame.display.init()
pygame.font.init()
pygame.display.set_caption("Simple physics example")
default_font = pygame.font.Font(None, 24)
screen_size = (1280, 768)
game_surface = pygame.display.set_mode(screen_size)
clock = pygame.time.Clock()

world = PhysicsWorld()
world.add(
    RigidBody(100, 100, 100, 100, mass=inf),
    RigidBody(100, 100, screen_size[0] - 100, 100, mass=inf),
    RigidBody(100, 100, screen_size[0] - 100, screen_size[1] - 100, mass=inf),
    RigidBody(100, 100, 100, screen_size[1] - 100, mass=inf),
)
screen_center = Vector2D(screen_size) / 2
mouse_pos = screen_center


def get_input():
    mouse_buttons = pygame.mouse.get_pressed()
    global mouse_pos
    mouse_pos = pygame.mouse.get_pos()
Exemplo n.º 3
0
 def __init__(self):
     self.items = {}
     self.physics = PhysicsWorld()