2017-04-05 46 views
0

我遇到了問題。我必須這樣做一個程序。當用戶按下按鈕1時,它將在視頻開始之前以陰影效果開始視頻,並且當他按下另一個按鍵(2)改變他正在看的視頻時產生陰影效果。因爲沒有GPU,我的計算機非常糟糕,所以我想知道計算機執行過程中的計算機正在使用100%的CPU功率。我已經看到這個有趣的對象:AS3在全屏模式下顯示幀頻

http://www.emanueleferonato.com/2011/09/01/moviemonitor-an-as3-performance-monitor-with-10-1-features/

用於檢查若干參數,例如幀速率中使用的存儲器和其他東西。問題是,當我用鼠標點擊時,應用程序進入全屏模式,沒關係,但我看不到屏幕左上角的對象movieMonitor。我想在全屏模式下看到用movieMonitor創建的小盒子。你有什麼想法我怎麼能做到這一點?這是我的代碼:

package { 
import flash.display.MovieClip; 
import fl.video.FLVPlayback; 
import fl.transitions.Tween; 
import fl.transitions.easing.*; 
import fl.transitions.TweenEvent; 
import flash.events.KeyboardEvent; 
import flash.ui.Keyboard; 
import fl.motion.Source; 
import flash.events.Event; 
import flash.events.MouseEvent; 
import flash.display.StageDisplayState; 
import movieMonitor; 

public class MainLaBottegav2 extends MovieClip { 

    var video1: FLVPlayback = new FLVPlayback(); 

    var tweenUp: Tween; 
    var tweenDown: Tween; 
    var tweenDownVolume: Tween; 


    var state:int = 0; 
    public function MainLaBottegav2() { 
     video1.width = 1920; 
     video1.height = 1080; 


     stage.addChild(video1); 
     stage.addEventListener(KeyboardEvent.KEY_DOWN, onK1Down); 

     tweenUp = new Tween(video1, "alpha", Regular.easeIn, 0, 1, 4, true); 


     tweenUp.stop(); 
     tweenDown = new Tween(video1, "alpha", Regular.easeIn, 1, 0, 4, true); 
     tweenDownVolume = new Tween(video1, "volume", Regular.easeIn, 1, 0, 3, true); 
     tweenDown.stop(); 
     tweenDownVolume.stop(); 
     tweenDown.addEventListener(TweenEvent.MOTION_FINISH, onTweenDownEnd); 
     stage.addEventListener(MouseEvent.CLICK, onMClick); 
     stage.addChild(new movieMonitor()); 

    } 
    private function onK1Down(kDown: KeyboardEvent): void { 

     if (kDown.keyCode == Keyboard.NUMBER_1) { 
      trace("Tween iniziata, video1"); 
      state = 1; 
     } 
     if (kDown.keyCode == Keyboard.NUMBER_2) { 
      trace("Tween iniziata, video2"); 
      state = 2; 
     } 

      tweenDown.start(); 
      tweenDownVolume.start(); 
    } 
    private function onTweenDownEnd(endTween1: TweenEvent): void { 
     if(state == 1) { 
      trace("riproduzione video1"); 
      video1.source = "PathToVideo1"; 

     } 
     if(state == 2) { 
      trace("riproduzione video2"); 
      video1.source = "pathToVideo2"; 
     } 

     tweenUp.start(); 
     video1.volume = 1; 
    } 
    private function onMClick(mClick:MouseEvent):void { 
     stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 
    } 
} 

} 

謝謝!

+0

您是否嘗試過全屏測試而沒有視頻? – Organis

+0

我評論了兩個視頻。它有一個非常奇怪的行爲。當我全屏時消失。但是等一段時間後,我可以再次看到它。如果在全屏模式下點擊,它會消失,有時會出現,有時甚至不會。這太奇怪了。有什麼建議? – SpaghettiFunk

+0

我也試過這個:http://www.flashandmath.com/howtos/rate/,但它仍然不能在全屏模式下工作。當我按下按鍵1或2切換視頻的同時有陰影我可以看到但是當視頻開始時,我可以再看到它。任何關於如何將它置於頂端的建議?謝謝! – SpaghettiFunk

回答

0

我找到了解決方案。我加入這個監聽器與處理全屏模式一個簡單的函數(記住進口!):

import flash.events.FullScreenEvent; 

stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenRedraw); 
private function fullScreenRedraw(e:FullScreenEvent):void { 
     if(e.fullScreen){ 
      stage.addChild(new movieMonitor()); 
     } 
    } 

它的工作原理,我總能看到movieMonitorObject!我希望這可以幫助!見!