如何实现Flash Player 9 Update 2的全屏控制,我将给出2个版本,第一个版本是AS2的,第二个版本是AS3的,有趣的是,很多会写AS2的朋友,都很难写出AS3版本的,可能还是很难适应语法上和制作方式上的改变。
AS2版本全屏播放控制:
场景中按钮上AS部分:
on(press){
toggleFullScreen();
}
时间轴第一帧AS:
//Button on Press触发toggleFullScreen函数
function toggleFullScreen(){
if(Stage["displayState"]=="normal"){
Stage["displayState"]="fullScreen";
}else{
Stage["displayState"]="normal";
}
}
Shift+F12发布后,更改html中的所有allowFullScreen参数值为true,切记。
源文件及效果包下载
AS3版本:
建立一个空Fla,AS3文件模式,save文件名AS3FullScreen.fla
建立一个FSButton.as文件,代码如下:
package {
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.MouseEvent;
public class FSButton extends Sprite {
public function FSButton() {
var navBtn1:AS3FullScreen=new AS3FullScreen();
this.addChild(navBtn1);
navBtn1.x=200;
navBtn1.y=200;
navBtn1.addEventListener(MouseEvent.CLICK,goFullScreen);
}
function goFullScreen(event:MouseEvent):void {
switch (stage.displayState) {
case "normal" :
stage.displayState = "fullScreen";
break;
case "fullScreen" :
default :
stage.displayState = "normal";
break;
}
}
}
}
在AS3FullScreen.fla场景的文档属性中,Document Class栏输入FSButton。
Shift+F12输出,更改html中的所有allowFullScreen参数值为true,切记。
AS3FullScreen.rar
令我吃惊的是,AS2版本只有10K,AS3版本的Fla文件居然有350k,为什么,因为我比较懒,创建了一个AS3FullScreen的类,在FSButton中引用,其实更好的方式是写一个Sprite对象,初始化过程中将这个sprite对象的buttonMode属性设置为true即可。但是代码要多一些,更加不适合AS2写惯了的朋友,虽然我的Fla有350k,但是我的SWF才2k左右,事实证明,AS3的SWF编译优化还是很强劲的,代码能重用就重用,component能复用就复用。