Пример #1
0
def startEngine(options):
    """Start the main engine"""
    engine = serge.engine.Engine(width=G('screen-width'),
                                 height=G('screen-height'),
                                 title=G('screen-title'),
                                 icon=os.path.join('graphics',
                                                   G('screen-icon-filename')))
    serge.blocks.utils.createVirtualLayersForEngine(engine, [
        'background', 'foreground', 'main', 'bombs', 'particles', 'men', 'ui',
        'ui-front', 'debug'
    ])
    serge.blocks.utils.createWorldsForEngine(engine, [
        'start-screen', 'credits-screen', 'help-screen', 'level-screen',
        'action-replay-screen', 'random-level-screen'
    ])
    #
    # Handle the simulation mode (main world can run at faster than real time)
    if G('simulation-on'):
        serge.blocks.utils.createWorldsForEngine(
            engine, ['main-screen'], lambda name: simulation.SimulationWorld(
                name, G('simulation-rtf'), G('simulation-fps'), options))
    else:
        serge.blocks.utils.createWorldsForEngine(
            engine, ['main-screen'],
            lambda name: simulation.SimulationWorld(name, 1, 60, options))
    #
    engine.setCurrentWorldByName(
        'start-screen' if not options.straight else 'main-screen')
    return engine
Пример #2
0
def startEngine():
    engine = serge.engine.Engine(
        width=G('screen-width'),
        height=G('screen-height'),
        title=G('screen-title')
        )
    #
    #Create layers
    serge.blocks.utils.createVirtualLayersForEngine(
        engine,
        ['background',
         'ground',
         'main',
         'status',
         'message']
        )
    #
    #Create Worlds
    serge.blocks.utils.createWorldsForEngine(
        engine,
        ['start-screen',
         'main-screen']
        )
    #
    #Set current world
    engine.setCurrentWorldByName('main-screen')
    return engine
Пример #3
0
def main(options, args):
    """Start the engine and the game"""
    registerSounds()
    registerMusic()
    registerGraphics()
    #
    if options.musicoff:
        serge.sound.Music.pause()
        serge.sound.Sounds.pause()
    #
    # Create the engine
    engine = startEngine(options)
    #
    # Initialise the main logic
    mainscreen.main(options)
    startscreen.main(options)
    creditsscreen.main(options)
    resumescreen.main(options)
    tutorialscreen.main(options)
    levelscreen.main(options)
    #
    if options.straight:
        engine.setCurrentWorldByName('main-screen')
    if options.tutorial:
        engine.setCurrentWorldByName('tutorial-screen')        
    #   
    if options.debug:
        serge.builder.builder.main(engine, options.framerate)
    else:
        engine.run(options.framerate)
Пример #4
0
def startEngine():
    engine = serge.engine.Engine(
        width=G('screen-width'),
        height=G('screen-height'),
        title=G('screen-title')
        )
    #
    #Create layers
    serge.blocks.utils.createVirtualLayersForEngine(
    #serge.blocks.utils.createLayersForEngine(
        engine,
        ['background',
         'ground',
         'main',
         'status',
         'message']
        )
    #ground_layer = serge.engine.CurrentEngine().renderer.getLayer('background')
    #ground_layer.clearBeforeUpdate = False
    #
    #Create Worlds
    serge.blocks.utils.createWorldsForEngine(
        engine,
        ['start-screen',
         'waiting-screen',
         'room-screen',
         'main-screen']
        )
    #
    #Set current world
    engine.setCurrentWorldByName('waiting-screen')
    return engine
Пример #5
0
def startEngine(options):
    """Start the main engine"""
    engine = serge.engine.Engine(width=G('screen-width'), height=G('screen-height'), 
        title=G('screen-title'), fullscreen=options.fullscreen)
    serge.blocks.utils.createVirtualLayersForEngine(engine, ['background', 'foreground', 'foam', 'main', 
        'ropes', 'smoke', 'actors', 'trees', 'light', 'ui-back', 'ui-highlight', 'ui', 'overlay'])
    serge.blocks.utils.createWorldsForEngine(engine, ['start-screen', 'name-screen', 
        'main-screen', 'credits-screen', 'help-screen', 'collection-screen'])
    #
    if options.engine_profile:
        engine.profilingOn()
    #
    # The layers which don't move with the camera
    for layer in ('ui', 'ui-back', 'ui-highlight'):
        engine.getRenderer().getLayer(layer).setStatic(True)
    #
    # For the start screen we want to isolate the rope from the cave since they move independently so
    # we create two zones. 
    world = engine.getWorld('start-screen')
    rope_zone = serge.zone.TagIncludeZone(['player', 'rope', 'rope-anchor', 'rope-link'])
    none_rope_zone = serge.zone.TagExcludeZone(['player', 'rope', 'rope-anchor', 'rope-link'])
    rope_zone.active = none_rope_zone.active = True
    rope_zone.physics_stepsize = 1.0
    world.clearZones()
    world.addZone(rope_zone)
    world.addZone(none_rope_zone)
    #
    engine.setCurrentWorldByName('start-screen' if not options.skip else 'main-screen')
    return engine
Пример #6
0
def startEngine(options):
    """Start the main engine"""
    engine = serge.engine.Engine(width=G('screen-width'), height=G('screen-height'), 
        title=G('screen-title'), icon=G('screen-icon'))
    serge.blocks.utils.createVirtualLayersForEngine(engine, ['background', 'foreground', 'main', 'ui'])
    serge.blocks.utils.createWorldsForEngine(engine, ['start-screen', 'main-screen', 'credits-screen', 'help-screen'])
    #
    engine.setCurrentWorldByName('start-screen' if not options.straight else 'main-screen')
    return engine
Пример #7
0
def startEngine(options):
    """Start the main engine"""
    engine = serge.engine.Engine(
        width=G("screen-width"), height=G("screen-height"), title=G("screen-title"), icon=G("screen-icon")
    )
    serge.blocks.utils.createVirtualLayersForEngine(engine, ["background", "foreground", "main", "ui"])
    serge.blocks.utils.createWorldsForEngine(engine, ["start-screen", "main-screen", "credits-screen", "help-screen"])
    #
    engine.setCurrentWorldByName("start-screen")
    return engine
Пример #8
0
def startEngine(options):
    """Start the main engine"""
    engine = serge.engine.Engine(width=G('screen-width'), height=G('screen-height'), title=G('screen-title'), icon=G('screen-icon'))
    engine.getRenderer().addLayer(serge.blocks.visualeffects.FadingLayer('background', 0))
    serge.blocks.utils.createVirtualLayersForEngine(engine, ['foreground', 'main', 'player', 'overlay'])
    engine.getRenderer().addLayer(serge.render.Layer('ui', 5))
    engine.getRenderer().addLayer(serge.render.VirtualLayer('messages', 6))
    serge.blocks.utils.createWorldsForEngine(engine, ['start-screen', 'main-screen', 'credit-screen', 'resume-screen',
        'tutorial-screen', 'level-screen'])
    #
    engine.setCurrentWorldByName('start-screen')
    return engine
Пример #9
0
def startEngine(options):
    """Start the main engine"""
    engine = serge.engine.Engine(
        width=G('screen-width'), height=G('screen-height'),
        title=G('screen-title'), icon=os.path.join('graphics', G('screen-icon-filename')))
    serge.blocks.utils.createVirtualLayersForEngine(
        engine, ['background', 'foreground', 'main', 'ui-back', 'ui', 'ui-progress', 'ui-front', 'ui-over'])
    serge.blocks.utils.createWorldsForEngine(
        engine,
        ['start-screen', 'main-screen', 'credits-screen', 'help-screen', 'file-select-screen'])
    #
    engine.setCurrentWorldByName('start-screen' if not options.straight else 'main-screen')
    return engine
Пример #10
0
def startEngine(options):
    """Start the main engine"""
    engine = serge.engine.Engine(width=G('screen-width'),
                                 height=G('screen-height'),
                                 title=G('screen-title'),
                                 icon=G('screen-icon'))
    serge.blocks.utils.createVirtualLayersForEngine(
        engine, ['background', 'foreground', 'main', 'ui'])
    serge.blocks.utils.createWorldsForEngine(
        engine,
        ['start-screen', 'main-screen', 'credits-screen', 'help-screen'])
    #
    engine.setCurrentWorldByName('start-screen')
    return engine
Пример #11
0
def startEngine(options):
    """Start the main engine"""
    engine = serge.engine.Engine(
        width=G("screen-width"),
        height=G("screen-height"),
        title=G("screen-title"),
        icon=os.path.join("graphics", "icon.png"),
        fullscreen=options.fullscreen,
    )
    serge.blocks.utils.createVirtualLayersForEngine(
        engine, ["background", "ground", "main", "foreground", "effects", "ship", "ground-overlay", "ui"]
    )
    serge.blocks.utils.createWorldsForEngine(
        engine, ["start-screen", "main-screen", "credit-screen", "high-score-screen"]
    )
    #
    engine.setCurrentWorldByName("main-screen")
    return engine
Пример #12
0
engine = serge.engine.Engine()
serge.blocks.utils.createWorldsForEngine(engine, 
['start-screen', 'court-screen', 'end-screen'])
serge.blocks.utils.createVirtualLayersForEngine(engine,
	['background', 'court', 'players', 'objects', 'ui'])

serge.visual.Sprites.setPath(os.path.join('sandbox', 'graphics'))
serge.visual.Sprites.registerItem('ball', 'ball.png')
serge.visual.Sprites.registerItem('ball-a', 'balla.png')
serge.visual.Sprites.registerItem('ball-b', 'ballb.png')
serge.visual.Sprites.registerItem('ball-c', 'ballc.png')
serge.visual.Sprites.registerItem('ball-d', 'balld.png')


world = engine.setCurrentWorldByName('court-screen')

'''
bat = serge.blocks.utils.addVisualActorToWorld(world, 'bat', 'player',
    serge.blocks.visualblocks.Rectangle(G('bat-size'), G('bat-colour')),
    'players', G('bat-initial-position'),
    serge.physical.PhysicalConditions(fixed=True, visual_size=serge.geometry.RECTANGLE, layers=2))
ball = serge.blocks.utils.addSpriteActorToWorld(world, 'ball', 'ball',
    'ball',
    'objects', G('ball-colour'),
    serge.physical.PhysicalConditions(mass=G('ball-mass'), visual_size=serge.geometry.CIRCLE, 
        velocity=G('ball-initial-velocity'), layers=3, update_angle=True,
        force=(G('gravity-x'), G('gravity-y'))))
'''
floor = serge.blocks.utils.addVisualActorToWorld(world, 'wall', 'floor',
    serge.blocks.visualblocks.Rectangle(G('floor-size'), G('floor-colour')),