在新 window 中打开 SWF 文件
Opening an SWF file in a new window
我的桌面 Flash 应用程序中有一个按钮,单击时,它必须加载外部 SWF 文件并在新的 window 中打开它,而无需使用浏览器。
我试过了
import flash.system.fscommand;
loadButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
fscommand ("exec", "external.swf");
}
但是没有用。有人在论坛中提到,应用程序必须编译为 .EXE 文件才能使此代码正常工作。是真的吗?
我也试过了
loadButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
navigateToURL(new URLRequest("external.swf"), "_blank");
}
但这会在新浏览器中打开文件 window。
知道如何在不使用浏览器的情况下做到这一点吗?window?
使用 NativeWindow 很简单。尽管 NativeWindow 是一个单独的 window,您的应用程序仍然是一个整体并且可以完全访问所有内容,包括新的 window。您只需将 Loader 和另一个 SWF 添加到新 window 的舞台。
// This is an example from official docs:
// https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/NativeWindow.html#NativeWindow()
var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
windowOptions.type = NativeWindowType.NORMAL;
var newWindow:NativeWindow = new NativeWindow(windowOptions);
newWindow.stage.scaleMode = StageScaleMode.NO_SCALE;
newWindow.stage.align = StageAlign.TOP_LEFT;
newWindow.bounds = new Rectangle(100, 100, 800, 800);
newWindow.activate();
// Now the only thing left is to load the external SWF into it:
var aLoader:Loader = new Loader;
// Load SWF as usual:
aLoader.load(new URLRequest("external.swf"));
// Add it as a child to the new window's stage:
newWindow.stage.addChild(aLoader);
我的桌面 Flash 应用程序中有一个按钮,单击时,它必须加载外部 SWF 文件并在新的 window 中打开它,而无需使用浏览器。 我试过了
import flash.system.fscommand;
loadButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
fscommand ("exec", "external.swf");
}
但是没有用。有人在论坛中提到,应用程序必须编译为 .EXE 文件才能使此代码正常工作。是真的吗?
我也试过了
loadButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
navigateToURL(new URLRequest("external.swf"), "_blank");
}
但这会在新浏览器中打开文件 window。 知道如何在不使用浏览器的情况下做到这一点吗?window?
使用 NativeWindow 很简单。尽管 NativeWindow 是一个单独的 window,您的应用程序仍然是一个整体并且可以完全访问所有内容,包括新的 window。您只需将 Loader 和另一个 SWF 添加到新 window 的舞台。
// This is an example from official docs:
// https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/NativeWindow.html#NativeWindow()
var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
windowOptions.type = NativeWindowType.NORMAL;
var newWindow:NativeWindow = new NativeWindow(windowOptions);
newWindow.stage.scaleMode = StageScaleMode.NO_SCALE;
newWindow.stage.align = StageAlign.TOP_LEFT;
newWindow.bounds = new Rectangle(100, 100, 800, 800);
newWindow.activate();
// Now the only thing left is to load the external SWF into it:
var aLoader:Loader = new Loader;
// Load SWF as usual:
aLoader.load(new URLRequest("external.swf"));
// Add it as a child to the new window's stage:
newWindow.stage.addChild(aLoader);