def __init__(self, width, height): self.width = width self.height = height self.renderer = pyui.desktop.getRenderer() self.world = World(width, height) engine.initialize(width, height) self.renderer.setBackMethod(self.drawStuff, width, height) pyui.desktop.getDesktop().registerHandler(pyui.locals.MOUSEMOVE, self.pickObject) self.f = pyui.widgets.Frame(20, 20, 260, 180, "Object Info") self.infoPanel = InfoPanel() self.f.replacePanel(self.infoPanel) self.sims = [] category = UCategory() for i in range(0, 20): sim = Updater(category) self.sims.append(sim) x = randint(0, width - 20) y = randint(0, height - 20) facing = randint(0, 360) speed = randint(0, 200) sim.turnRate = 200 self.world.addToWorld(sim, x, y, facing, speed) self.selected = self.sims[0] self.selected.addObserver(self.infoPanel)
def __init__(self, width, height): self.width = width self.height = height self.renderer = pyui.desktop.getRenderer() self.world = World(width, height) engine.initialize(width, height) self.renderer.setBackMethod(self.drawStuff, width, height) pyui.desktop.getDesktop().registerHandler(pyui.locals.MOUSEMOVE, self.pickObject) self.f = pyui.widgets.Frame(20,20,260,180, "Object Info"); self.infoPanel = InfoPanel() self.f.replacePanel(self.infoPanel) self.sims = [] category = UCategory() for i in range(0,20): sim = Updater(category) self.sims.append(sim) x = randint(0,width-20) y = randint(0,height-20) facing = randint(0,360) speed = randint(0,200) sim.turnRate = 200 self.world.addToWorld(sim ,x, y, facing, speed) self.selected = self.sims[0] self.selected.addObserver(self.infoPanel)
class Application: def __init__(self, width, height): self.width = width self.height = height self.renderer = pyui.desktop.getRenderer() self.world = World(width, height) engine.initialize(width, height) self.renderer.setBackMethod(self.drawStuff, width, height) pyui.desktop.getDesktop().registerHandler(pyui.locals.MOUSEMOVE, self.pickObject) self.f = pyui.widgets.Frame(20, 20, 260, 180, "Object Info") self.infoPanel = InfoPanel() self.f.replacePanel(self.infoPanel) self.sims = [] category = UCategory() for i in range(0, 20): sim = Updater(category) self.sims.append(sim) x = randint(0, width - 20) y = randint(0, height - 20) facing = randint(0, 360) speed = randint(0, 200) sim.turnRate = 200 self.world.addToWorld(sim, x, y, facing, speed) self.selected = self.sims[0] self.selected.addObserver(self.infoPanel) def drawStuff(self, width, height): engine.clear() engine.render() def pickObject(self, event): (worldX, worldY) = engine.screenToWorld(event.pos[0], event.pos[1]) sim = self.world.checkPoint(worldX, worldY) if sim: self.selected.removeObserver(self.infoPanel) sim.addObserver(self.infoPanel) self.selected = sim self.selected.notify() def run(self): running = 1 frames = 0 counter = 0 lastFrame = pyui.readTimer() endFrame = pyui.readTimer() while running: pyui.draw() if pyui.update(): interval = pyui.readTimer() - endFrame self.world.update(interval) endFrame = pyui.readTimer() else: running = 0 # track frames per second frames += 1 counter += 1 # calculate FPS if endFrame - lastFrame > 1.0: FPS = counter counter = 0 lastFrame = endFrame print "FPS: %2d" % (FPS)
class Application: def __init__(self, width, height): self.width = width self.height = height self.renderer = pyui.desktop.getRenderer() self.world = World(width, height) engine.initialize(width, height) self.renderer.setBackMethod(self.drawStuff, width, height) pyui.desktop.getDesktop().registerHandler(pyui.locals.MOUSEMOVE, self.pickObject) self.f = pyui.widgets.Frame(20,20,260,180, "Object Info"); self.infoPanel = InfoPanel() self.f.replacePanel(self.infoPanel) self.sims = [] category = UCategory() for i in range(0,20): sim = Updater(category) self.sims.append(sim) x = randint(0,width-20) y = randint(0,height-20) facing = randint(0,360) speed = randint(0,200) sim.turnRate = 200 self.world.addToWorld(sim ,x, y, facing, speed) self.selected = self.sims[0] self.selected.addObserver(self.infoPanel) def drawStuff(self, width, height): engine.clear() engine.render() def pickObject(self, event): (worldX, worldY) = engine.screenToWorld(event.pos[0], event.pos[1]) sim = self.world.checkPoint(worldX, worldY) if sim: self.selected.removeObserver(self.infoPanel) sim.addObserver(self.infoPanel) self.selected = sim self.selected.notify() def run(self): running = 1 frames = 0 counter = 0 lastFrame = pyui.readTimer() endFrame = pyui.readTimer() while running: pyui.draw() if pyui.update(): interval = pyui.readTimer() - endFrame self.world.update(interval) endFrame = pyui.readTimer() else: running = 0 # track frames per second frames += 1 counter += 1 # calculate FPS if endFrame - lastFrame > 1.0: FPS = counter counter = 0 lastFrame = endFrame print "FPS: %2d" % (FPS )