def alert(self): if not self.alert == None: self.alert.abort() avg.fadeOut(200, self.alert) self.alert = newAlert self.alert.start(self.alertEnd) avg.fadeIn(200, self.alert)
def joinPlayer(self, player): self.__activePlayers.append(player) if len(self.__activePlayers) == 1: avg.fadeOut(self.__winsDiv, 200) self.__winsDiv.sensitive = False elif len(self.__activePlayers) == 2: self.__startButton.activate()
def __remove(self): def removeLines(): for l in self._lines: l.unlink() self._lines = [] avg.fadeOut(self, 200, removeLines)
def showCursor(self, show): if show: avg.fadeIn(self.__cursorNode, 200) if self.__loupe: avg.fadeIn(self.__loupeCursorNode, 200) else: avg.fadeOut(self.__cursorNode, 200) if self.__loupe: avg.fadeOut(self.__loupeCursorNode, 200)
def onButtonPressed(self): if not (self.isFading): if self.runningVideo == 0: avg.fadeIn(self.videoNodes[1], self.__duration) else: avg.fadeOut(self.videoNodes[1], self.__duration) player.setTimeout(self.__duration, self.fadeEnd) self.runningVideo = (self.runningVideo + 1) % 2 self.isFading = True
def blinkingOff(self): # letztes ausblenden avg.fadeOut(self, 1000) self.i = 0 # index zurueck auf 0 setzen self.startanimOn = False # animtion ist beendet == nicht mehr an (false) self.sensitive = True
def __startIdleDemo(self): self.__idleTimeoutID = None avg.fadeOut(self.__gameDiv, 200) self.__ctrlDiv.sensitive = False for p in self.__idlePlayers: p.setReady() self.__demoDownHandlerID = self.__gameDiv.subscribe(avg.Node.CURSOR_DOWN, lambda e:self.__stopIdleDemo()) player.subscribe(player.ON_FRAME, self.__onIdleFrame)
def deactivate(self): def hideFill(): self.__node.fillopacity = 0 if not self.__cursorID is None: self.__node.releaseEventCapture(self.__cursorID) self.__cursorID = None self.__node.sensitive = False avg.fadeOut(self.__node, 200, hideFill)
def goback(self, event): #background = self.player.getElementByID("background") homescreen = self.player.getElementByID("homescreen") levelslide = avg.EaseInOutAnim(self, "x", 1000, self.pos.x, self.pos.x + self.size.x , 50, 1000).start() homeslide= avg.EaseInOutAnim(homescreen, "x", 1000, homescreen.pos.x, homescreen.pos.x + homescreen.size.x/1.4 , 50, 1000).start() # Infotext weg dafuer Buttons wieder her avg.fadeOut(self.info, 1000) for button in self.a: button.showButton()
def endScroll(self, event): # Ende des Scrollen (loslassen) avg.fadeOut(self.help, 500) if event.cursorid == self.captureHolder: self.captureHolder = None if self.scroll.pos.y > 100: # eig. ... > 0 # Wenn das oberste Bild weiter runter als 100 px gezogen wird, wird es wieder nach oben gesetzt avg.EaseInOutAnim(self.scroll, "y", 1000, self.scroll.pos.y, 0, 50, 1000).start() if self.scroll.pos.y + self.scroll.size.y +350 <= event.node.size.y: # das gleiche fuer das letzte Bild (wird wieder nach oben geschoben, wenn es zuweit unten ist) avg.EaseInOutAnim(self.scroll, "y", 1000, self.scroll.pos.y, -((len(self.picture)*410)-1080) , 50, 1000).start() #self.scroll.pos.y +250
def zoomOut(self, event): # Das Bild wird verkleinert pic = self.current_event # gespeicherte Referenz avg.EaseInOutAnim(pic, "pos", 1000, pic.pos, (0,self.old_pos.y), 50, 1000).start() # Animation zum verschieben avg.EaseInOutAnim(pic, "size", 1000, pic.size, avg.Point2D(550,406), 50, 1000).start() # Animation zum verkleinern self.sidebar.sensitive = True avg.fadeOut(self.close, 1000) self.captureHolder2 = None self.current_event.sensitive = True for answer in self.a: # Antworten wieder anklickbar answer.sensitive = True
def __onUp(self, event): if self.__cursorId is not None: self.__button.releaseEventCapture(event.cursorid) self.__cursorId = None self.__button.activate(False) if self.__button.x > 20: avg.fadeOut(self.__slider, 100) self.__anim = avg.EaseInOutAnim(self.__button, 'x', 200, self.__button.x, self.__xlimit, 50, 150) self.__anim.start() else: self.__cb()
def __fadeOutNukeAlert(self): if self.__hasNuke: cb = self.__fadeInNukeAlert else: cb = None self.__nukeAnim = avg.fadeOut(self.nukeAlert, 100, cb)
def showInfo(self): for button in self.level.a: button.bg.sensitive = False avg.fadeOut(button.bg, 1000) avg.fadeOut(button.true, 1000) avg.fadeOut(button.false, 1000) avg.fadeIn(self.level.info, 1000)
def onStructureCollision(self, structure): deletedelements = structure.removeElementsInArea(self.position, self.explosionRadius ) self._scorePointsForRemovedCrystal(deletedelements) node = avg.CircleNode(parent = self._root.getParent(), pos=self.position, r=self.explosionRadius, color="FF0000", ) avg.fadeIn(node, 200, 1, lambda: avg.fadeOut(node, 500, node.unlink(True) )) self.delete()
def testFadeOut(self): def onStop(): self.__onStopCalled = True self.initScene() self.__node.opacity = 0.5 self.__onStopCalled = False self.start(False, (lambda: avg.fadeOut(self.__node, 200, onStop), lambda: self.compareImage("testFadeOut1"), lambda: self.compareImage("testFadeOut2"), lambda: self.compareImage("testFadeOut3"), lambda: self.assert_(self.__onStopCalled), lambda: self.assertEqual(avg.getNumRunningAnims(), 0))) self.__anim = None
def testFadeOut(self): def onStop(): self.__onStopCalled = True self.initScene() self.__node.opacity=0.5 self.__onStopCalled = False self.start(False, (lambda: avg.fadeOut(self.__node, 200, onStop), lambda: self.compareImage("testFadeOut1"), lambda: self.compareImage("testFadeOut2"), lambda: self.compareImage("testFadeOut3"), lambda: self.assert_(self.__onStopCalled), lambda: self.assertEqual(avg.getNumRunningAnims(), 0) )) self.__anim = None
def __start_logo(self): self._logo.opacity = 1 avg.fadeOut(self._logo, 2000)
def end(self, content): self.__oldContent = self.__activeContent self.__activeContent = None if self.__oldContent: avg.fadeOut(self.__oldContent, 600) self.state(self.NOTHING)
def dec(self): assert(self.__numLives) self.__numLives -= 1 avg.fadeOut(self.__images[self.__numLives], 250) return not self.__numLives
def zoomOut(self, onDone): avg.fadeOut(self._appNode, ZoomAnimSimple.fadeDuration, stopCallback=lambda: self._zoomOut(onDone))
def reset(self): # reset the menue self.href = self.startpic # normales Startbild avg.fadeOut(self, 100) # "button/bild" ausgeblendet -> man sieht das dahinterligende Skuplturbild self.intern_solved = False # intern_solved wieder auf false
def leave(self): g_player.clearInterval(self.timeout) winnerField = g_player.getElementByID("winner") avg.fadeOut(winnerField, config.STATE_FADE_TIME)
def _doTransOut(self, postCb): avg.fadeOut(self, self.TRANS_DURATION, postCb)
def __onTimerElapsed(self): avg.fadeOut(self, 300) self.__killTimer() self.__timerElapsedCb()
def setDead(self, restart=False): self.__idlePlayer.setDead() avg.fadeOut(self.__textNode, 200)
def leave(self): self.node.unsubscribe(avg.Node.CURSOR_DOWN, self.eventID) avg.fadeOut(self.node, config.STATE_FADE_TIME) self.node.sensitive = False
def hideScore(self): scoreDisplay = g_player.getElementByID("textfield") avg.fadeOut(scoreDisplay, 400)
def reset(): avg.fadeOut(self, 180)
def removeBigVideo(self): oldVideoNode = self.bigVideoNode avg.fadeOut(oldVideoNode, self.__duration, lambda: oldVideoNode.unlink(True))
def reset(self): # reset the answerbutton avg.fadeOut(self.true,1000) avg.fadeOut(self.false,1000)
def hide(self): # start out-transition, notify subscribers when finished avg.fadeOut(self, TRANS_INTERVAL, lambda: self.notifySubscribers(Slide.HIDE_DONE, [self]))
def explode(self, pos): if not self.__isExploding: self.__isExploding = True self.__fade = avg.fadeOut( self.traj, self.explosionClass.DURATION / 2, self.__cleanup) self.explosionClass(pos)
def blinkingCont(self): avg.fadeOut(self, 1000).setStopCallback(self.blinking) # ausblenden + zurueck zu blinking self.i = self.i + 1 # index += 1
def __teaserTimer(self): player.setTimeout(1000, lambda: avg.fadeOut(self.__teaser, 3000))