Exemplo n.º 1
0
 def __init__(self, shadowdiv, gunCtrl, parent=None, **kwargs):
     super(PlayerAircraft, self).__init__('spitfire', shadowdiv, parent, **kwargs)
     self.__gunCtrl = gunCtrl
     self.__bullets = [Bullet(parent=self.parent) for i in xrange(10)]
     self.__engineSnd = avg.SoundNode(href='flySound.mp3', loop=True, parent=self)
     self.__bulletSnd = avg.SoundNode(href='bulletSound.mp3', volume=0.75, parent=self)
     self.__maxX, self.__maxY = self.parent.size - self.size
Exemplo n.º 2
0
    def onInit(self):
        self.mediadir = getMediaDir(__file__)

        self.__gameMusic = avg.SoundNode(href='Fire_Birds.mp3', loop=True,
                volume=0.75, parent=self)
        self.__scrollingBg = ScrollingBackground(self)
        self.__shadowDiv = avg.DivNode(parent=self)
        self.__gameDiv = avg.DivNode(size=self.size, parent=self)
        self.__guiDiv = avg.DivNode(parent=self)

        bg = avg.ImageNode(href='gui_frame.png', parent=self.__guiDiv)
        self.__guiDiv.pos = (0, self.height - bg.height)
        self.__lifeCounter = LifeCounter(pos=(8, 12), parent=self.__guiDiv)
        gunCtrl = GunControl(pos=(300, 54), parent=self.__guiDiv)
        self.__scoreCounter = ScoreCounter(pos=(1142, 54), parent=self.__guiDiv)

        self.__enemies = []
        for i in xrange(2):
            self.__createEnemy()
        self.__player = PlayerAircraft(self.__shadowDiv, gunCtrl, parent=self.__gameDiv)

        enemyMask = avg.Bitmap(self.mediadir + '/enemy.gif')
        self.__playerCollisionDetector = collisiondetector.CollisionDetector(
                enemyMask, avg.Bitmap(self.mediadir + '/spitfire.gif'))
        self.__bulletCollisionDetector = collisiondetector.CollisionDetector(
                enemyMask, avg.Bitmap(self.mediadir + '/bullet.gif'))

        self.__keyStates = dict.fromkeys(PlayerAircraft.ACTION_KEYS, False)
        self.__frameHandlerId = None
        self.__spawnTimeoutId = None
        self.__gameMusic.play()
        self.__start()
        player.subscribe(player.KEY_DOWN, self.__onKeyDown)
        player.subscribe(player.KEY_UP, self.__onKeyUp)
Exemplo n.º 3
0
    def testSoundInfo(self):
        def checkInfo():
            node.pause()
            self.assertEqual(node.getAudioCodec(), "pcm_s16le")
            self.assertEqual(node.getAudioSampleRate(), 44100)
            self.assertEqual(node.getNumAudioChannels(), 2)
            self.assertEqual(node.getCurTime(), 0)
            self.assertEqual(node.duration, 2000)

        def checkExceptions():
            node = avg.SoundNode(href="44.1kHz_16bit_stereo.wav")
            self.assertRaises(avg.Exception, node.getAudioCodec)
            self.assertRaises(avg.Exception, node.getAudioSampleRate)
            self.assertRaises(avg.Exception, node.getNumAudioChannels)

        def checkVideoFile():
            node = avg.SoundNode(href="mpeg1-48x48.mov", parent=root)
            self.assertRaises(avg.Exception, node.pause)

        root = self.loadEmptyScene()
        node = avg.SoundNode(href="44.1kHz_16bit_stereo.wav", parent=root)
        checkInfo()
        checkExceptions()
        self.start(False,
                (checkInfo,
                 checkExceptions,
                 checkVideoFile,
                ))
Exemplo n.º 4
0
        def testSoundFile(filename):
            def setVolume(volume):
                node.volume = volume

            def testGetVolume(volume):
                self.assertAlmostEqual(node.volume, volume)

            root = self.loadEmptyScene()
            node = avg.SoundNode(href=filename, parent=root)
            self.start(False,
                    (lambda: setVolume(0.5),
                     lambda: testGetVolume(0.5),
                     lambda: node.play(),
                     None,
                     lambda: node.stop(),
                     lambda: node.play(),
                     lambda: node.pause(),
                     lambda: node.play(),
                     lambda: setVolume(0.5),
                     lambda: testGetVolume(0.5),
                     lambda: node.pause(),
                     lambda: node.stop(),
                     lambda: setVolume(0.3),
                     lambda: testGetVolume(0.3),
                     lambda: node.pause()
                    ))
Exemplo n.º 5
0
    def testLoop(self):
        def onEOF():
            self.eof = True

        def onFrame():
            if self.eof:
                if not threaded:
                    self.compareImage("testVideoLoop")
                player.stop()

        for audio, threaded in [(False, False), (False, True), (True, True)]:
            self.eof = False
            if audio:
                player.setFakeFPS(-1)
            else:
                player.setFakeFPS(25)
            root = self.loadEmptyScene()
            if audio:
                node = avg.SoundNode(parent=root, loop=True,
                        href="48kHz_16bit_mono.wav")
            else:
                node = avg.VideoNode(parent=root, loop=True, fps=25, size=(96,96),
                    threaded=threaded, href="mpeg1-48x48.mov")
            node.subscribe(avg.Node.END_OF_FILE, onEOF)
            node.play()
            player.subscribe(player.ON_FRAME, onFrame)
            player.play()
Exemplo n.º 6
0
 def __init__(self, shadowdiv, parent=None, **kwargs):
     super(EnemyAircraft, self).__init__('enemy', shadowdiv, parent,
                                         **kwargs)
     self.publish(EnemyAircraft.ESCAPED)
     self.__destroySnd = avg.SoundNode(href='enemyDeath.mp3',
                                       volume=2.0,
                                       parent=self)
     self._hide()
Exemplo n.º 7
0
 def testSoundSeek(self):
     player.setFakeFPS(-1)
     player.volume = 0 
     root = self.loadEmptyScene()
     soundNode = avg.SoundNode(parent=root, href="44.1kHz_16bit_stereo.wav")
     soundNode.play()
     soundNode.seekToTime(500)
     self.start(False,
             (None,
              lambda: soundNode.seekToTime(200),
             ))
Exemplo n.º 8
0
 def initSounds(self):
     self.deniedSound = avg.SoundNode(href="denied.mp3",
                                      loop=False,
                                      volume=1.0,
                                      parent=self.rootNode)
     self.skillUnlockedSound = avg.SoundNode(href="skillUnlocked.mp3",
                                             loop=False,
                                             volume=1.0,
                                             parent=self.rootNode)
     self.gameStartSound = avg.SoundNode(href="gameStart.mp3",
                                         loop=False,
                                         volume=1.0,
                                         parent=self.rootNode)
     self.rotateSound = avg.SoundNode(href="rotate.wav",
                                      loop=False,
                                      volume=1.0,
                                      parent=self.rootNode)
     self.victorySound = avg.SoundNode(href="victory.mp3",
                                       loop=False,
                                       volume=1.0,
                                       parent=self.rootNode)
     self.thunderSound = avg.SoundNode(href="thunder.wav",
                                       loop=False,
                                       volume=1.0,
                                       parent=self.rootNode)
     self.roundSound = avg.SoundNode(href="round.mp3",
                                     loop=False,
                                     volume=1.0,
                                     parent=self.rootNode)
     self.rainSound = avg.SoundNode(href="rain.mp3",
                                    loop=False,
                                    volume=1.0,
                                    parent=self.rootNode)
     self.bombSound = avg.SoundNode(href="bomb.wav",
                                    loop=False,
                                    volume=1.0,
                                    parent=self.rootNode)
     self.cashSound = avg.SoundNode(href="cash.mp3",
                                    loop=False,
                                    volume=1.0,
                                    parent=self.rootNode)
 def onInit(self):
     self._node = avg.SoundNode(parent=self, href=self._audioFName)
     self._node.play()
     self._words = avg.WordsNode(parent=self, pos=(10, 22), fontsize=10)
Exemplo n.º 10
0
 def testSoundEOF(self):
     player.setFakeFPS(-1)
     player.volume = 0 
     node = avg.SoundNode(href="44.1kHz_16bit_mono.wav")
     self.testEOF(node)
Exemplo n.º 11
0
 def openSound():
     node = avg.SoundNode(href="44.1kHz_16bit_6Chan.ogg", parent=root)
     self.assertRaises(avg.Exception, node.play)
Exemplo n.º 12
0
 def checkVideoFile():
     node = avg.SoundNode(href="mpeg1-48x48.mov", parent=root)
     self.assertRaises(avg.Exception, node.pause)
Exemplo n.º 13
0
 def checkExceptions():
     node = avg.SoundNode(href="44.1kHz_16bit_stereo.wav")
     self.assertRaises(avg.Exception, node.getAudioCodec)
     self.assertRaises(avg.Exception, node.getAudioSampleRate)
     self.assertRaises(avg.Exception, node.getNumAudioChannels)
Exemplo n.º 14
0
 def openSound():
     node = avg.SoundNode(href="44.1kHz_16bit_6Chan.ogg", parent=root)
     self.assertRaises(RuntimeError, node.play)
Exemplo n.º 15
0
 def checkVideoFile():
     node = avg.SoundNode(href="mpeg1-48x48.mov", parent=root)
     self.assertRaises(RuntimeError, node.pause)