本文整理汇总了Python中GameEngine.GameEngine.setStartupLayer方法的典型用法代码示例。如果您正苦于以下问题:Python GameEngine.setStartupLayer方法的具体用法?Python GameEngine.setStartupLayer怎么用?Python GameEngine.setStartupLayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameEngine.GameEngine
的用法示例。
在下文中一共展示了GameEngine.setStartupLayer方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from GameEngine import GameEngine [as 别名]
# 或者: from GameEngine.GameEngine import setStartupLayer [as 别名]
#.........这里部分代码省略.........
if nbrplayers == 1:
engine.cmdMode = nbrplayers, mode, 0
else:
engine.cmdMode = nbrplayers, 0, mode
encoding = Config.get("game", "encoding")
if encoding is not None:
#stump: XXX: Everything I have seen indicates that this is a
# horrible, horrible hack. Is there another way? Do we even need this?
reload(sys)
sys.setdefaultencoding(encoding)
# Play the intro video if it is present, we have the capability, and
# we are not in one-shot mode.
videoLayer = False
if videoAvailable and not engine.cmdPlay:
# TODO: Parameters to add to theme.ini:
# - intro_video_file
# - intro_video_start_time
# - intro_video_end_time
themename = Config.get("coffee", "themename")
vidSource = os.path.join(Version.dataPath(), 'themes', themename, \
'menu', 'intro.mp4')
if os.path.isfile(vidSource):
winWidth, winHeight = engine.view.geometry[2:4]
songVideoStartTime = 0
songVideoEndTime = None
vidPlayer = VideoPlayer(-1, vidSource, (winWidth, winHeight),
startTime = songVideoStartTime,
endTime = songVideoEndTime)
if vidPlayer.validFile:
engine.view.pushLayer(vidPlayer)
videoLayer = True
try:
engine.ticksAtStart = pygame.time.get_ticks()
while not vidPlayer.finished:
engine.run()
engine.view.popLayer(vidPlayer)
engine.view.pushLayer(MainMenu(engine))
except KeyboardInterrupt:
engine.view.popLayer(vidPlayer)
engine.view.pushLayer(MainMenu(engine))
if not videoLayer:
engine.setStartupLayer(MainMenu(engine))
#stump: make psyco optional
if Config.get("performance", "use_psyco"):
try:
import psyco
psyco.profile()
except:
Log.error("Unable to enable psyco as requested: ")
# Run the main game loop.
try:
engine.ticksAtStart = pygame.time.get_ticks()
while engine.run():
pass
except KeyboardInterrupt:
Log.notice("Left mainloop due to KeyboardInterrupt.")
# don't reraise
# Restart the program if the engine is asking that we do so.
if engine.restartRequested:
Log.notice("Restarting.")
engine.audio.close()
try:
# Extra arguments to insert between the executable we call and our
# command line arguments.
args = []
# Figure out what executable to call.
if hasattr(sys, "frozen"):
if os.name == "nt":
# When py2exe'd, sys.executable is the name of the EXE.
exe = os.path.abspath(unicode(sys.executable, sys.getfilesystemencoding()))
elif sys.frozen == "macosx_app":
# When py2app'd, sys.executable is a Python interpreter copied
# into the same dir where we live.
exe = os.path.join(os.path.dirname(sys.executable), 'FoFiX') # FIXME: don't hard-code "FoFiX" here
else:
raise RuntimeError, "Don't know how to restart when sys.frozen is %s" % repr(sys.frozen)
else:
# When running from source, sys.executable is the Python interpreter
# being used to run the program.
exe = sys.executable
# Pass the optimization level on iif python version >= 2.6.0 as
# sys.flags has been introduced in 2.6.0.
if sys.version_info[:3] >= (2,6,0) and sys.flags.optimize > 0:
args.append('-%s' % ('O' * sys.flags.optimize))
args.append(sys.argv[0])
os.execv(exe, [sys.executable] + args + sys.argv[1:])
except:
Log.error("Restart failed: ")
raise
# evilynux - MainMenu class already calls this - useless?
engine.quit()
示例2: reload
# 需要导入模块: from GameEngine import GameEngine [as 别名]
# 或者: from GameEngine.GameEngine import setStartupLayer [as 别名]
# evilynux - Multiplayer and mode selection support
Config.set("game", "players", nbrplayers)
Config.set("player0", "mode_1p", mode)
Config.set("player1", "mode_2p", mode)
if debug == True:
engine.setDebugModeEnabled(not engine.isDebugModeEnabled())
engine.debugLayer.debugOut(engine)
engine.quit()
break
encoding = Config.get("game", "encoding")
if encoding != None:
reload(sys)
sys.setdefaultencoding(encoding)
engine.setStartupLayer(MainMenu(engine))
try:
import psyco
psyco.profile()
except:
Log.warn("Unable to enable psyco.")
try:
while engine.run():
pass
except KeyboardInterrupt:
pass
if engine.restartRequested:
Log.notice("Restarting.")
示例3: main
# 需要导入模块: from GameEngine import GameEngine [as 别名]
# 或者: from GameEngine.GameEngine import setStartupLayer [as 别名]
def main():
"""Main thread"""
try:
opts, args = getopt.getopt(sys.argv[1:], "vdc:p:D:P:m:N:", ["verbose", "debug", "config=", "play=", "diff=", "part=", "mode=", "nbrplayers="])
except getopt.GetoptError:
print usage
sys.exit(1)
playing = None
configFile = None
debug = False
difficulty = 0
part = 0
mode = 0
nbrplayers = 1
for opt, arg in opts:
if opt in ["--verbose", "-v"]:
Log.quiet = False
if opt in ["--debug", "-d"]:
debug = True
if opt in ["--config", "-c"]:
configFile = arg
if opt in ["--play", "-p"]:
playing = arg
if opt in ["--diff", "-D"]:
difficulty = arg
if opt in ["--part", "-P"]:
part = arg
#evilynux - Multiplayer and mode selection support
if opt in ["--mode", "-m"]:
mode = int(arg)
if opt in ["--nbrplayers", "-N"]:
nbrplayers = int(arg)
while True:
if configFile != None:
if configFile.lower() == "reset":
fileName = os.path.join(Resource.getWritableResourcePath(), Version.appName() + ".ini")
os.remove(fileName)
config = Config.load(Version.appName() + ".ini", setAsDefault = True)
else:
config = Config.load(configFile, setAsDefault = True)
else:
config = Config.load(Version.appName() + ".ini", setAsDefault = True)
engine = GameEngine(config)
engine.cmdPlay = 0
if playing != None:
Config.set("game", "selected_library", "songs")
Config.set("game", "selected_song", playing)
engine.cmdPlay = 1
engine.cmdDiff = int(difficulty)
engine.cmdPart = int(part)
#evilynux - Multiplayer and mode selection support
Config.set("game", "players", nbrplayers)
Config.set("player0","mode_1p", mode)
Config.set("player1","mode_2p", mode)
if debug == True:
engine.setDebugModeEnabled(not engine.isDebugModeEnabled())
engine.debugLayer.debugOut(engine)
engine.quit()
break
encoding = Config.get("game", "encoding")
if encoding != None:
reload(sys)
sys.setdefaultencoding(encoding)
engine.setStartupLayer(MainMenu(engine))
try:
import psyco
psyco.profile()
except:
Log.warn("Unable to enable psyco.")
try:
while engine.run():
pass
except KeyboardInterrupt:
pass
if engine.restartRequested:
Log.notice("Restarting.")
engine.audio.close()
try:
# Determine whether were running from an exe or not
if hasattr(sys, "frozen"):
if os.name == "nt":
os.execl("FretsOnFire.exe", "FretsOnFire.exe", *sys.argv[1:])
elif sys.frozen == "macosx_app":
import string
import subprocess
appname = string.join(string.split(sys.executable, '/')[:-1], '/')
appname = appname+"/Frets on Fire"
subprocess.Popen(`appname`, shell=True)
else:
os.execl("./FretsOnFire", "./FretsOnFire", *sys.argv[1:])
else:
if os.name == "nt":
#.........这里部分代码省略.........
示例4: main
# 需要导入模块: from GameEngine import GameEngine [as 别名]
# 或者: from GameEngine.GameEngine import setStartupLayer [as 别名]
#.........这里部分代码省略.........
if configFile.lower() == "reset":
fileName = os.path.join(Resource.getWritableResourcePath(), Version.appName() + ".ini")
os.remove(fileName)
config = Config.load(Version.appName() + ".ini", setAsDefault = True)
else:
config = Config.load(configFile, setAsDefault = True)
else:
config = Config.load(Version.appName() + ".ini", setAsDefault = True)
#Lysdestic - Allow support for manipulating fullscreen via CLI
if fullscreen != None:
Config.set("video", "fullscreen", fullscreen)
#Lysdestic - Change resolution from CLI
if resolution != None:
Config.set("video", "resolution", resolution)
#Lysdestic - Alter theme from CLI
if theme != None:
Config.set("coffee", "themename", theme)
if playing != None:
library = Config.get("game","base_library")
basefolder = os.path.join(Version.dataPath(),library,"songs",playing)
if not (os.path.exists(os.path.join(basefolder, "song.ini")) and (os.path.exists(os.path.join(basefolder, "notes.mid")) or os.path.exists(os.path.join(basefolder, "notes-unedited.mid"))) and (os.path.exists(os.path.join(basefolder, "song.ogg")) or os.path.exists(os.path.join(basefolder, "guitar.ogg")))):
Log.warn("Song directory provided ('%s') is not a valid song directory. Starting up FoFiX in standard mode." % playing)
playing = None
engine = GameEngine(config)
engine.cmdPlay = 0
if playing != None:
Config.set("game", "selected_library", "songs")
Config.set("game", "selected_song", playing)
engine.cmdPlay = 1
if difficulty is not None:
engine.cmdDiff = int(difficulty)
if part is not None:
engine.cmdPart = int(part)
#evilynux - Multiplayer and mode selection support
Config.set("game", "players", nbrplayers)
if nbrplayers == 1:
Config.set("game", "game_mode", mode)
else:
Config.set("game", "game_mode", 0)
Config.set("game", "multiplayer_mode", mode)
if debug == True:
engine.setDebugModeEnabled(not engine.isDebugModeEnabled())
engine.debugLayer.debugOut(engine)
engine.quit()
break
encoding = Config.get("game", "encoding")
if encoding != None:
reload(sys)
sys.setdefaultencoding(encoding)
engine.setStartupLayer(MainMenu(engine))
#stump: make psyco optional
if Config.get("performance", "use_psyco"):
try:
import psyco
psyco.profile()
except:
Log.warn("Unable to enable psyco.")
try:
engine.ticksAtStart = pygame.time.get_ticks()
while engine.run():
pass
except KeyboardInterrupt:
pass
if engine.restartRequested:
Log.notice("Restarting.")
engine.audio.close()
try:
# Determine whether were running from an exe or not
if hasattr(sys, "frozen"):
if os.name == "nt":
os.execl("FoFiX.exe", "FoFiX.exe", *sys.argv[1:])
elif sys.frozen == "macosx_app":
import string
import subprocess
appname = string.join(string.split(sys.executable, '/')[:-1], '/')
appname = appname+"/FoFiX"
subprocess.Popen(`appname`, shell=True)
else:
os.execl("./FoFiX", "./FoFiX", *sys.argv[1:])
else:
# stump: sys.executable points to the active python interpreter
os.execl(sys.executable, sys.executable, "FoFiX.py", *sys.argv[1:])
except:
Log.warn("Restart failed.")
raise
break
else:
break
# evilynux - MainMenu class already calls this - useless?
engine.quit()
示例5: GameEngine
# 需要导入模块: from GameEngine import GameEngine [as 别名]
# 或者: from GameEngine.GameEngine import setStartupLayer [as 别名]
except getopt.GetoptError:
print usage
sys.exit(1)
songName = None
for opt, arg in opts:
if opt in ["--verbose", "-v"]:
Log.quiet = False
elif opt in ["--play", "-p"]:
songName = arg
while True:
config = Config.load(Version.appName() + ".ini", setAsDefault = True)
engine = GameEngine(config)
menu = MainMenu(engine, songName = songName)
engine.setStartupLayer(menu)
try:
import psyco
psyco.profile()
except:
Log.warn("Unable to enable psyco.")
try:
while engine.run():
pass
except KeyboardInterrupt:
pass
if engine.restartRequested:
Log.notice("Restarting.")
示例6: main
# 需要导入模块: from GameEngine import GameEngine [as 别名]
# 或者: from GameEngine.GameEngine import setStartupLayer [as 别名]
#.........这里部分代码省略.........
if theme is not None:
Config.set("coffee", "themename", theme)
engine = GameEngine(config)
engine.cmdPlay = 0
# Check for a valid invocation of one-shot mode.
if playing is not None:
Log.debug('Validating song directory for one-shot mode.')
library = Config.get("game","base_library")
basefolder = os.path.join(Version.dataPath(),library,"songs",playing)
if not (os.path.exists(os.path.join(basefolder, "song.ini")) and (os.path.exists(os.path.join(basefolder, "notes.mid")) or os.path.exists(os.path.join(basefolder, "notes-unedited.mid"))) and (os.path.exists(os.path.join(basefolder, "song.ogg")) or os.path.exists(os.path.join(basefolder, "guitar.ogg")))):
Log.warn("Song directory provided ('%s') is not a valid song directory. Starting up FoFiX in standard mode." % playing)
engine.startupMessages.append(_("Song directory provided ('%s') is not a valid song directory. Starting up FoFiX in standard mode.") % playing)
playing = None
# Set up one-shot mode if the invocation is valid for it.
if playing is not None:
Log.debug('Entering one-shot mode.')
Config.set("game", "selected_library", "songs")
Config.set("game", "selected_song", playing)
engine.cmdPlay = 1
if difficulty is not None:
engine.cmdDiff = int(difficulty)
if part is not None:
engine.cmdPart = int(part)
#evilynux - Multiplayer and mode selection support
Config.set("game", "players", nbrplayers)
if nbrplayers == 1:
Config.set("game", "game_mode", mode)
else:
Config.set("game", "game_mode", 0)
Config.set("game", "multiplayer_mode", mode)
if debug:
engine.setDebugModeEnabled(not engine.isDebugModeEnabled())
engine.debugLayer.debugOut(engine)
engine.quit()
return
encoding = Config.get("game", "encoding")
if encoding is not None:
#stump: XXX: Everything I have seen indicates that this is a
# horrible, horrible hack. Is there another way? Do we even need this?
reload(sys)
sys.setdefaultencoding(encoding)
engine.setStartupLayer(MainMenu(engine))
#stump: make psyco optional
if Config.get("performance", "use_psyco"):
try:
import psyco
psyco.profile()
except:
Log.error("Unable to enable psyco as requested: ")
# Run the main game loop.
try:
engine.ticksAtStart = pygame.time.get_ticks()
while engine.run():
pass
except KeyboardInterrupt:
Log.notice("Left mainloop due to KeyboardInterrupt.")
# don't reraise
# Restart the program if the engine is asking that we do so.
if engine.restartRequested:
Log.notice("Restarting.")
engine.audio.close()
try:
# Extra arguments to insert between the executable we call and our
# command line arguments.
args = []
# Figure out what executable to call.
if hasattr(sys, "frozen"):
if os.name == "nt":
# When py2exe'd, sys.executable is the name of the EXE.
exe = os.path.abspath(unicode(sys.executable, sys.getfilesystemencoding()))
elif sys.frozen == "macosx_app":
# When py2app'd, sys.executable is a Python interpreter copied
# into the same dir where we live.
exe = os.path.join(os.path.dirname(sys.executable), 'FoFiX') # FIXME: don't hard-code "FoFiX" here
else:
raise RuntimeError, "Don't know how to restart when sys.frozen is %s" % repr(sys.frozen)
else:
# When running from source, sys.executable is the Python interpreter
# being used to run the program.
exe = sys.executable
# Pass the optimization level on.
if sys.flags.optimize > 0:
args.append('-%s' % ('O' * sys.flags.optimize))
args.append(__file__)
os.execv(exe, [sys.executable] + args + sys.argv[1:])
except:
Log.error("Restart failed: ")
raise
# evilynux - MainMenu class already calls this - useless?
engine.quit()