コード例 #1
0
ファイル: world.py プロジェクト: grimfang/owp_ajaw
    def __init__(self):
        self.loadingscreen = LoadingScreen()
        self.loadingscreen.show()
        self.gameoverscreen = GameOverScreen()
        self.level = Level01()
        self.loadingscreen.setLoadingValue(10)
        self.player = Player()
        self.loadingscreen.setLoadingValue(15)
        self.golem = Golem()
        self.loadingscreen.setLoadingValue(20)
        self.msgWriter = MessageWriter()
        self.loadingscreen.setLoadingValue(25)
        self.hud = PlayerHUD()
        self.loadingscreen.setLoadingValue(30)

        self.musicAmbient = loader.loadMusic("MayanJingle1_Ambient.ogg")
        self.musicAmbient.setLoop(True)
        self.musicAmbient.setVolume(1.0)
        self.musicFight = loader.loadMusic("MayanJingle3_Fight.ogg")
        self.musicFight.setLoop(True)
        self.musicFight.setVolume(1.0)
        self.musicGameOver = loader.loadMusic("MayanJingle5_GameOver.ogg")
        self.musicGameOver.setVolume(1.0)
        self.puzzleSolved = loader.loadSfx("MayanJingle4_PuzzleSolved.ogg")
        self.getItem = loader.loadSfx("MayanJingle2_GetItem.ogg")
        self.loadingscreen.setLoadingValue(40)
コード例 #2
0
ファイル: main.py プロジェクト: grimfang/pyweek21
    def postInit(self):
        #
        # initialize game content
        #

        # Menus
        self.mainmenu = Mainmenu()
        self.optionsmenu = Optionsmenu()
        self.loadingscreen = LoadingScreen()

        self.music_menu = loader.loadMusic("music/menu.ogg")
        self.music_menu.setLoop(True)
        self.music_game = loader.loadMusic("music/game.ogg")
        self.music_game.setLoop(True)
        self.music_intro = loader.loadMusic("music/logos.ogg")

        # The games Intro
        def create16To9LogoCard(logoPath, tsName):
            cm = CardMaker("fade")
            scale = abs(base.a2dLeft) / 1.7776
            cm.setFrame(-1, 1, -1 * scale, 1 * scale)
            logo = NodePath(cm.generate())
            logo.setTransparency(TransparencyAttrib.MAlpha)
            logoTex = loader.loadTexture(logoPath)
            logoTs = TextureStage(tsName)
            logoTs.setMode(TextureStage.MReplace)
            logo.setTexture(logoTs, logoTex)
            logo.setBin("fixed", 5000)
            logo.reparentTo(render2d)
            logo.hide()
            return logo

        self.gfLogo = create16To9LogoCard("intro/GrimFangLogo.png", "gfLogoTS")
        self.pandaLogo = create16To9LogoCard("intro/Panda3DLogo.png",
                                             "pandaLogoTS")
        self.gameLogo = create16To9LogoCard("intro/GameLogo.png", "gameLogoTS")

        def createFadeIn(logo):
            return LerpColorScaleInterval(logo, 2,
                                          LVecBase4f(0.0, 0.0, 0.0, 1.0),
                                          LVecBase4f(0.0, 0.0, 0.0, 0.0))

        def createFadeOut(logo):
            return LerpColorScaleInterval(logo, 2,
                                          LVecBase4f(0.0, 0.0, 0.0, 0.0),
                                          LVecBase4f(0.0, 0.0, 0.0, 1.0))

        gfFadeInInterval = createFadeIn(self.gfLogo)
        gfFadeOutInterval = createFadeOut(self.gfLogo)
        p3dFadeInInterval = createFadeIn(self.pandaLogo)
        p3dFadeOutInterval = createFadeOut(self.pandaLogo)
        gameFadeInInterval = createFadeIn(self.gameLogo)
        gameFadeOutInterval = createFadeOut(self.gameLogo)
        self.introFadeInOutSequence = Sequence(Func(self.music_intro.play),
                                               Func(self.gfLogo.show),
                                               gfFadeInInterval,
                                               Wait(1.0),
                                               gfFadeOutInterval,
                                               Wait(0.5),
                                               Func(self.gfLogo.hide),
                                               Func(self.pandaLogo.show),
                                               p3dFadeInInterval,
                                               Wait(1.0),
                                               p3dFadeOutInterval,
                                               Wait(0.5),
                                               Func(self.pandaLogo.hide),
                                               Func(self.gameLogo.show),
                                               gameFadeInInterval,
                                               Wait(1.0),
                                               gameFadeOutInterval,
                                               Wait(0.5),
                                               Func(self.gameLogo.hide),
                                               Func(self.messenger.send,
                                                    "intro_done"),
                                               Func(self.music_intro.stop),
                                               name="fadeInOut")
        # game intro end

        # collision setup
        base.cTrav = CollisionTraverser("base collision traverser")
        base.cTrav.setRespectPrevTransform(True)
        # setup default physics
        base.enableParticles()

        #
        # Event handling
        #
        self.accept("escape", self.__escape)
        # accept menu events
        self.accept("menu_start", self.request, ["Game"])
        self.accept("menu_options", self.request, ["Options"])
        self.accept("menu_quit", self.quit)
        self.accept("options_back", self.request, ["Menu"])
        # game over
        self.accept("GameOver", self.demand, ["Menu"])

        #
        # Start with the menu after the intro has been played
        #
        self.introFadeInOutSequence.start()
        self.accept("intro_done", self.request, ["Menu"])