import pygame
from Richter.Level import Level
from Richter.Camera import Camera
import Richter.Engine as Engine
resolution = (640,480)
Engine.init(resolution)
pygame.display.set_caption("platformtest")
l = Level('levels/example1')
Engine.updaters.append(l.update)
Engine.drawers.append(l.draw)
player = l.env['player']
camera = Camera(l)
camera.setBbox(l.bbox)
Engine.updaters.append(camera.update)
camera.setFocus(player)
def input(e):
if e.type == pygame.KEYDOWN:
if e.key == pygame.K_LEFT:
player.walkLeft()
elif e.key == pygame.K_RIGHT:
player.walkRight()
elif e.key == pygame.K_UP:
player.jump()
elif e.key == pygame.K_1:
l.toggleDrawSurfaces()
elif e.key == pygame.K_2:
camera.clearBbox()
elif e.key == pygame.K_3:
camera.setBbox(l.bbox)
elif e.key == pygame.K_ESCAPE:
Engine.stop()
elif e.type == pygame.KEYUP:
if e.key == pygame.K_LEFT or e.key == pygame.K_RIGHT:
player.idle()
elif e.key == pygame.K_UP:
player.jumpCancel()
elif e.type == pygame.QUIT:
Engine.stop()
Engine.eventhandlers.append(input)
def update():
if player.position[1] < 0:
player.position = [player.position[0],480]
Engine.updaters.append(update)
n = 0
def fpsthing():
global n
n += 1
if n == 100:
fps = "%0.1f FPS" % Engine.fpsman.get_fps()
pygame.display.set_caption("platformtest [%s]" % fps)
print fps
n = 0
Engine.updaters.append(fpsthing)
Engine.run()