2017-04-05 63 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!我希望这可以帮助!见!