def main(): pygame.init() screen = pygame.display.set_mode((800,600)) bgd = pygame.Surface((800,600)).convert() bgd.fill((0,0,0)) evtsys = EventSystem() evtsys.signals['quit'].register(quitting) ball = Ball(20, (100, 115)) evtsys.signals['mousemotion'].register(ball.mousemotion) evtsys.signals['mousebuttondown'].register(ball.mousedown) evtsys.signals['mousebuttonup'].register(ball.mouseup) tiles = [] tiles.append(Square((300, 100), (550, 300))) tiles.append(Square((900, 100), (400, 550))) # wrong, concave not possible ## tiles.append(Poly([(0,0), (300,0), (300,-100), (200,-50), (100, -50), (0,-100) ], (200, 300))) tiles.append(Poly([(0,0), (100,0), (100, -400)], (720, 450))) tiles.append(Poly([(0,0), (100,0), (100, -400)], (200, 250))) tiles.append(Poly([(0,0), (100,0), (0, -400)], (70, 450))) tiles.append(Poly([(0,0), (0,400), (100, 0)], (70, 150))) tiles.append(Poly([(0,0), (100,400), (100, 0)], (720, 150) )) tiles.append(Poly([(0,0), (40,-40), (40, -80), (0,-160), (-40, -160), (-80, -120), (-80, -60), (-40, 0)], (350, 150) )) ball.tiles = tiles ball.screen = screen fps = [] clock = pygame.time.Clock() global running while running: clock.tick(100) fps.append(clock.get_fps()) print fps[-1] evtsys.update(0,0,0) screen.blit(bgd, (0,0)) # dawing tiles for tile in tiles: screen.blit(tile.image, tile.rect) tile.crect.center = tile.rect.center # drawing normals cx, cy = tile.rect.center for nx, ny in tile.normals: pygame.draw.line(screen, (0,(ny*nx*255)%255,255), (cx, cy), (cx+50*nx, cy+50*ny)) # update ball ball.update() screen.blit(ball.image, ball.rect) # update screen pygame.display.flip() print "average fps:", sum(fps)/len(fps) print "max fps", max(fps) print "mmin fps", min(fps)
def main(): pygame.init() screen = pygame.display.set_mode((800,600)) # set up world world = TileMap((10, 10), (32,32)) # adding tiles name1 = 'test_tile1.PNG' name2 = 'test_tile2.PNG' for x in range(-64, 1280, 32): for y in range(0, 1280, 32): world.tiles.append(Tile(name1, (x,y))) name1, name2 = name2, name1 name1, name2 = name2, name1 # setting up eventsytem evtsys = EventSystem() ## evtsys._blocking = True # setting up viewport view = ViewPort(screen, pygame.Rect(0,0,800,600), world, pygame.Rect(0,0,800,600)) evtsys.signals['mousemotion'].register(view.handle_mousemotion) evtsys.signals['mousebuttondown'].register(view.handle_mousedown) evtsys.signals['mousebuttonup'].register(view.handle_mouseup) evtsys.signals['keydown'].register(view.handle_keydown) # connecting quit event evtsys.signals['quit'].register(quitting) ## for tile in world.tiles: ## screen.blit(tile.images[0][0], tile.rect) ## pygame.display.flip() # main loop global running clock = pygame.time.Clock() fps = [] while running: clock.tick() evtsys.update(0,0,0) view.drawrot() fps.append(clock.get_fps()) print "average fps:", sum(fps)/len(fps) print "min fps:", min(fps) print "max fps:", max(fps)