Changed Engine bits to make platformtest.py work again
def loadlevel(name):
global level
+ unloadLevel()
fp, pathname, description = imp.find_module(name)
level = imp.load_module(name, fp, pathname, description)
+ updaters.insert(0, level.update)
+ drawers.insert(0, level.draw)
return level
+def unloadLevel():
+ global level
+ updaters.remove(level.update)
+ drawers.remove(level.draw)
+ level = None
+
+
def stop():
global running
running = False
for update in updaters:
update()
- level.update()
for draw in drawers:
draw()
- level.draw()
pygame.display.flip()
fpsman.tick(60)
stage.addLayerBack(Layer('data/stars', 1.0, 0.25))
stage.setSurfaces('data/example1')
-candelabra = Sprite(['Sprites/candelabra_short/cand_s_1.png','Sprites/candelabra_short/cand_s_2.png','Sprites/candelabra_short/cand_s_3.png','Sprites/candelabra_short/cand_s_4.png'])
+candelabra = Sprite(['Sprites/candelabra_short/cand_s_%d.png' % x for x in range(1,4)])
candelabra.setPosition(64, 64)
candelabra.setScale(2.0)
candelabra.setGravity(CENTER, BOTTOM)
candelabra.play()
main.add(candelabra)
+Engine.drawers.append(stage.draw)
-camera = Camera(stage, resolution)
+camera = Camera(stage)
camera.setBbox(main.bbox)
+Engine.updaters.append(camera.update)
class Richter(Actor):
def __init__(self, surfaces=None):
camera.clearBbox()
elif e.key == pygame.K_3:
camera.setBbox(main.bbox)
+ elif e.key == pygame.K_ESC:
+ Engine.stop()
elif e.type == pygame.KEYUP:
if e.key == pygame.K_LEFT or e.key == pygame.K_RIGHT:
richter.idle()
elif e.key == pygame.K_UP:
richter.jumpCancel()
+ elif e.type == pygame.QUIT:
+ Engine.stop()
+Engine.eventhandlers.append(input)
def update():
richter.update()
richter.position = [richter.position[0],480]
zombie.update()
+Engine.updaters.append(update)
+
n = 0
def fpsthing():
global n
print fps
n = 0
-Engine.engine(
- [input],
- [update, camera.update, fpsthing],
- [stage.draw]
-)
+Engine.updaters.append(fpsthing)
+
+Engine.run()