Flash Player:9:Update:Full-Screen Mode
[url=http://labs.adobe.com/wiki/index.php/Flash_Player:9:Update:Full-Screen_Mode]http://labs.adobe.com/wiki/index.php/Flash_Player:9:Update:Full-Screen_Mode[/url] ActionScript 2.0 example :[code]//Rectangle is needed when using hardware scaling.import flash.geom.Rectangle;
// functions to enter and leave full-screen mode
function goFullScreen()
{
Stage["displayState"] = "fullScreen";
}
// An alternate full screen function that uses hardware scaling to display the upper left corner of the stage in full screen.
function goScaledFullScreen(){
var screenRectangle:Rectangle = new Rectangle();
screenRectangle.x = 0;
screenRectangle.y = 0;
screenRectangle.width=Stage.width/2;
screenRectangle.height=Stage.height/2;
Stage["fullScreenSourceRect"] = screenRectangle;
Stage["displayState"] = "fullScreen";
}
function exitFullScreen()
{
Stage["displayState"] = "normal";
}
// function to enable, disable context menu items, based on which mode we are in.
function menuHandler(obj, menuObj)
{
if (Stage["displayState"] == "normal")
{
// if we're in normal mode, enable the 'go full screen' item, disable the 'exit' item
menuObj.customItems[0].enabled = true;
menuObj.customItems[1].enabled = false;
}
else
{
// if we're in full screen mode, disable the 'go full screen' item, enable the 'exit' item
menuObj.customItems[0].enabled = false;
menuObj.customItems[1].enabled = true;
}
}
// create a new context menu
var fullscreenCM:ContextMenu = new ContextMenu(menuHandler);
// hide the regular built-in items
fullscreenCM.hideBuiltInItems();
// now, add the items to enter and leave full screen mode
var fs:ContextMenuItem = new ContextMenuItem("Go Full Screen", goFullScreen);
fullscreenCM.customItems.push( fs );
var xfs:ContextMenuItem = new ContextMenuItem("Exit Full Screen", exitFullScreen);
fullscreenCM.customItems.push( xfs );
// now, attach the context menu to any movieclip in your movie.
// here we attach it to _root, (even though using _root is generally a bad idea,)
// so it will appear if you right click anywhere on the movie.
_root.menu = fullscreenCM;
[/code]ActionScript 3.0 example[code]import flash.display.Stage;
import flash.display.StageDisplayState;
import flash.display.*;
import flash.events.*;
import flash.geom.Rectangle;
// functions to enter and leave full screen mode
function goFullScreen(event:ContextMenuEvent):void
{
stage.displayState = StageDisplayState.FULL_SCREEN;
}
// An alternate full-screen function that uses hardware scaling to display the upper left corner of the stage in full screen.
function goScaledFullScreen(){
var screenRectangle:Rectangle = new Rectangle(0, 0, stage.stageWidth/2, stage.stageHeight/2);
stage.fullScreenSourceRect = screenRectangle;
stage.displayState = StageDisplayState.FULL_SCREEN;
}
function exitFullScreen(event:ContextMenuEvent):void
{
stage.displayState = StageDisplayState.NORMAL;
}
// function to enable and disable the context menu items,
// based on what mode we are in.
function menuHandler(event:ContextMenuEvent):void
{
if (stage.displayState == StageDisplayState.NORMAL)
{
event.target.customItems[0].enabled = true;
event.target.customItems[1].enabled = false;
}
else
{
event.target.customItems[0].enabled = false;
event.target.customItems[1].enabled = true;
}
}
// create the context menu, remove the built-in items,
// and add our custom items
var fullscreenCM:ContextMenu = new ContextMenu();
fullscreenCM.addEventListener(ContextMenuEvent.MENU_SELECT, menuHandler);
fullscreenCM.hideBuiltInItems();
var fs:ContextMenuItem = new ContextMenuItem("Go Full Screen" );
fs.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, goFullScreen);
fullscreenCM.customItems.push( fs );
var xfs:ContextMenuItem = new ContextMenuItem("Exit Full Screen");
xfs.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, exitFullScreen);
fullscreenCM.customItems.push( xfs );
// finally, attach the context menu to a movieclip
mc.contextMenu = fullscreenCM;
[/code]To use full-screen mode, you need to add a new parameter to the <object> and <embed> tags in your HTML. Here is an example of the <object> and <embed> tags with full screen enabled:[code]
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0"
width="600" height="400" id="fullscreen" align="middle">
<param name="allowFullScreen" value="true" />
<param name="movie" value="fullscreen.swf" />
<param name="bgcolor" value="#333333" />
<embed src="fullscreen.swf" allowFullScreen="true" bgcolor="#333333" width="600" height="400"
name="fullscreen" align="middle" type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
[/code]
頁:
[1]