/platformtest.py
#!/usr/bin/env python

import pygame
from Richter.Level import Level
from Richter.Camera import Camera
import Richter.Engine as Engine

#resolution = (1280,1024)
resolution = (640,480)
#resolution = (320,240)

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()