def __init__(self, uid: str, width, height, world_width: int, world_height: int, start_pos): super().__init__(uid, width, height) keyl = runners.KeyListener() # adding pause button keyl.add_key(key=32, func=func.toggle_pause) # restart on F10 keyl.add_key(key=299, func=func.restart) self.add_runner(keyl) # self.keyl.addKey(key=264, func = checkWarp) main = Entity(tag='main') #main.camera = camera.OrthoCamera(world_width=world_width * vars.tile_size, # world_height=world_height * vars.tile_size, # cam_width=width, cam_height=height, viewport=[0, 0, width, height], # tag='maincam') main.camera = camera.PerspectiveCamera(viewport=[0, 0, width, height], tag='maincam') main.camera.pos = (0, 1, 0) self.main = main self.add(main) # create the collision engine ce = runners.CollisionEngine(85, 85) self.add_runner(ce) self.add_runner(runners.Scheduler()) self.dw = runners.DynamicWorld(256, 256, 'maincam') self.add_runner(self.dw) diag = Entity(tag='diag') diag.camera = camera.OrthoCamera(world_width=width, world_height=height, cam_width=width, cam_height=height, viewport=[0, 0, width, height], tag='diagcam') fps_count = Text('main', 8, '0', [255, 255, 255, 255], align=TextAlignment.top_left, tag='fps', pos=(0, 256, 2)) fps_count.add_component(comp.FPSCounter()) diag.add(fps_count) self.add(diag) e = Entity() e.add_component(Road()) e.add_component(comp.KeyInput()) main.add(e)
def __init__(self, uid: str, width, height, world_width: int, world_height: int, start_pos): super().__init__(uid, width, height) keyl = runners.KeyListener() # adding pause button keyl.add_key(key=32, func=func.toggle_pause) # restart on F10 keyl.add_key(key=299, func=func.restart) self.add_runner(keyl) # self.keyl.addKey(key=264, func = checkWarp) main = Entity(tag='main') main.camera = camera.OrthoCamera( world_width=world_width * vars.tile_size, world_height=world_height * vars.tile_size, cam_width=width, cam_height=height, viewport=[0, 0, width, height], tag='maincam') self.main = main self.add(main) # create the collision engine ce = runners.CollisionEngine(80, 80) ce.add_response( vars.tags.player, vars.tags.brick_sensor, runners.CollisionResponse(on_enter=func.brick_response)) ce.add_response( vars.tags.player, vars.tags.bonus_brick_sensor, runners.CollisionResponse(on_enter=func.bonus_brick_response)) ce.add_response( vars.tags.player, vars.tags.mushroom, runners.CollisionResponse(on_enter=func.mushroom_response)) ce.add_response( vars.tags.player, vars.tags.warp, runners.CollisionResponse(on_enter=func.on_warp_enter, on_leave=func.on_warp_exit)) ce.add_response( vars.tags.player, vars.tags.hotspot, runners.CollisionResponse(on_enter=func.on_hotspot_enter)) ce.add_response(vars.tags.player, vars.tags.coin, runners.CollisionResponse(on_enter=func.coin_response)) ce.add_response( vars.tags.player, vars.tags.goomba, runners.CollisionResponse(on_enter=func.goomba_response)) ce.add_response( vars.tags.player, vars.tags.koopa, runners.CollisionResponse(on_enter=func.koopa_response)) ce.add_response( vars.tags.player, vars.tags.plant, runners.CollisionResponse(on_enter=func.plant_response)) ce.add_response(vars.tags.player, vars.tags.spawn, runners.CollisionResponse(on_enter=func.on_spawn)) ce.add_response( vars.tags.player, vars.tags.key, runners.CollisionResponse(on_enter=func.on_collect_item)) ce.add_response( vars.tags.player, vars.tags.generic_hotspot, runners.CollisionResponse(on_enter=func.on_enter_hotspot, on_leave=func.on_leave_hotspot)) ce.add_response(vars.tags.goomba, vars.tags.player_fire, runners.CollisionResponse(on_enter=func.fire_hits_foe)) self.add_runner(ce) self.add_runner(runners.Scheduler()) self.dw = runners.DynamicWorld(256, 256, 'maincam') self.add_runner(self.dw) diag = Entity(tag='diag') diag.camera = camera.OrthoCamera(world_width=width, world_height=height, cam_width=width, cam_height=height, viewport=[0, 0, width, height], tag='diagcam') diag.add( Text('main', 8, monkey.engine.read('$mario'), [255, 255, 255, 255], TextAlignment.top_left, pos=(24, 248, 2))) diag.add( Text('main', 8, '{:06d}'.format(vars.score), [255, 255, 255, 255], TextAlignment.top_left, tag='score_label', pos=(24, 240, 2))) diag.add( Text('main', 8, monkey.engine.read('$world'), [255, 255, 255, 255], TextAlignment.top_left, pos=(144, 248, 2))) diag.add( Text('main', 8, uid, [255, 255, 255, 255], TextAlignment.top, pos=(164, 240, 2))) diag.add( Text('main', 8, monkey.engine.read('$time'), [255, 255, 255, 255], TextAlignment.top_right, pos=(232, 248, 2))) diag.add( Text('main', 8, str(vars.time), [255, 255, 255, 255], TextAlignment.top_right, tag='score_label', pos=(232, 240, 2))) diag.add(Sprite(model='sprites/01/coin_counter', pos=(96, 232, 2))) diag.add(Text('main', 8, 'x', [255, 255, 255, 255], pos=(108, 240, 2))) diag.add( Text('main', 8, '{:02d}'.format(vars.coins), [255, 255, 255, 255], TextAlignment.top_left, tag='coin_label', pos=(116, 240, 2))) fps_count = Text('main', 8, '0', [255, 255, 255, 255], align=TextAlignment.top_left, tag='fps', pos=(0, 256, 2)) fps_count.add_component(comp.FPSCounter()) diag.add(fps_count) self.add(diag) # add player mario = monkey.engine.get_item_factory('player')()(start_pos[0], start_pos[1], 0) #mario = build.makePlayer(vars.stateInfo[vars.state], startPos[0], startPos[1]) main.add(mario)
def __init__(self, uid: str, world_bounds): super().__init__(uid, 320, 240) width = 320 height = 240 keyl = runners.KeyListener() # adding pause button #keyl.add_key(key=32, func=func.toggle_pause) # restart on F10 keyl.add_key(key=299, func=func.restart) self.add_runner(keyl) main = Entity(tag='main') cam = camera.PerspectiveCamera(viewport=[0, 0, 320, 240]) cam.tag = 'maincam' cam.pos = (5, 5, 15) cam.bounds = world_bounds cam.boundsz = [-200, 222] main.camera = cam self.main = main self.add(main) ce = runners.CollisionEngine3D(80, 80, 80) # this will be a 3d engine ce.add_response( vars.tags.foe_attack, vars.tags.player, runners.CollisionResponse(on_enter=func.foe_hits_player)) ce.add_response( vars.tags.player_attack, vars.tags.foe, runners.CollisionResponse(on_enter=func.player_hits_foe)) # ce.add_response(vars.tags.foe_attack, vars.tags.player, runners.CollisionResponse(on_enter=func.foe_hits_player)) # ce.add_response(vars.tags.player, vars.tags.foe, runners.CollisionResponse(on_enter=func.stomp_enemy)) ce.add_response(vars.tags.player, vars.tags.bonus, runners.CollisionResponse(on_enter=func.collect_bonus)) # ce.add_response(vars.tags.player_attack, vars.tags.foe, runners.CollisionResponse(on_enter=func.player_hits_foe)) ce.add_response( vars.tags.player_attack, vars.tags.platform_destructible, runners.CollisionResponse(on_enter=func.player_hits_block)) # ce.add_response(vars.tags.gib, vars.tags.platform, runners.CollisionResponse(on_enter=func.gib_lands)) # ce.add_response(vars.tags.gib, vars.tags.platform_destructible, runners.CollisionResponse(on_enter=func.gib_lands)) # # ce.add_response(vars.tags.fire, vars.tags.foe, runners.CollisionResponse(on_enter=func.fire_hits_foe)) # ce.add_response(vars.tags.crusher, vars.tags.player, runners.CollisionResponse(on_enter=func.on_crusher_hit)) self.add_runner(ce) self.add_runner(runners.Scheduler()) diag = Entity(tag='diag') fsize = 8 pad = 3 * fsize w = 320 h = 240 diag.camera = camera.OrthoCamera(world_width=w, world_height=h, cam_width=w, cam_height=h, viewport=[0, 0, w, h], tag='diagcam') diag.add( Text('main', fsize, monkey.engine.read('$energy'), [255, 255, 255, 255], TextAlignment.top_left, pos=(pad, h - fsize, 2))) diag.add( Text('main', fsize, str(vars.energy), [255, 255, 255, 255], TextAlignment.top_left, tag='energy_label', pos=(pad, h - fsize * 2, 2))) # diag.add(Text('main', fsize, monkey.engine.read('$world'), [255, 255, 255, 255], TextAlignment.top_left, pos=(fsize*10, height-fsize, 2))) # diag.add(Text('main', fsize, uid, [255, 255, 255, 255], TextAlignment.top_left, pos=(fsize*10, height-2*fsize, 2))) diag.add( Text('main', fsize, monkey.engine.read('$height'), [255, 255, 255, 255], TextAlignment.top_right, pos=(width - pad, height - fsize, 2))) diag.add( Text('main', fsize, str(vars.height), [255, 255, 255, 255], TextAlignment.top_right, tag='height_label', pos=(width - pad, height - fsize * 2, 2))) # fps_count = Text('main', fsize, '0', [255, 255, 255, 255], align=TextAlignment.top_left, tag='fps', pos=(0, height, 2)) # fps_count.add_component(comp.FPSCounter()) # diag.add(fps_count) self.add(diag)