全屏模式 硬缩放


硬件缩放的用法
Flash Player Update 3的Stage对象追加了一个fullScreenSourceRect的属性。这个属性可以在AS2.0和AS3.0里使用。它把Rectangle的 领域缩放为全屏。用fullScreenSourceRect指定领域用硬件来画,比以前的效率与画质高不少。

语法
fullScreenSourceRect : flash.geom.Rectangle;
全屏模式的例子:
//Actionscript 3.0
import flash.geom.*;
public function fullScreen():void {
  Stage["fullScreenSourceRect"] = new Rectangle(0, 0,
Stage.width, Stage.height);
  Stage["displayState"] = "fullScreen";
}在Flash CS3的类重新定义之前无法用Stage.fullScreenSourceRect的写法,会通不过编译。fullScreenSourceRect指定的领域在Stage外也可。
在AS3.0使用的注意点
要在AS3.0里使用新的全屏模式,必须替换playerglobal.swc。新的playerglobal.swc包含在以下文件里。
full_screen_demo.zip (zip, 49.2 MB)
取出playerglobal.swc,把它放在以下地方
Flash CS3: Adobe Flash CS3\en\Configuration\ActionScript 3.0\Classes\
Flex Builder: Flex Builder 2\Flex SDK 2\frameworks\libs
介绍一下Video的全屏模式。
用硬件缩放来全屏Video比用Stage来做效率高。但与普通的不同,有几个重要的点。
最好把smoothing设为false。
最好把deblocking设为0。
把属性设为初始值。
这样效率会有显著的提高。下面是把myVideo用全屏播放的例子。
import flash.geom.*;
public function goFullScreen():void {
  // 保存现在的属性
  myVideo.savedWidth = myVideo.width;
  myVideo.savedHeight = myVideo.height;
  myVideo.savedSmoothing = myVideo.smoothing;
  myVideo.savedDeblocking = myVideo.deblocking;

  // 把属性设为初始值
  myVideo.width = myVideo.videoWidth;
  myVideo.height = myVideo.videoHeight;
  myVideo.smoothing = false;
  myVideo.deblocking = 0;

  // 全屏
  Stage["fullScreenSourceRect"] = new Rectangle(
myVideo.x, myVideo.y, myVideo.width, myVideo.height);
  Stage["displayState"] = "fullScreen";
}



posted @ 2008-09-17 10:32  appleseed  阅读(721)  评论(0)    收藏  举报