我正在尝试创建一个纯粹的ActionScript 3 AIR项目,不带 Flex,有点像以下问题:
ActionScript Project to AIR Application?
...但我不确定如何从onInvoke()访问命令行参数。我需要这个来访问我的Pure AS3 AIR应用程序的命令行参数。
这是我的源代码:
public class Doclet extends Sprite
{
public function Doclet()
{
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvoke);
var win:NativeWindow = new NativeWindow(new NativeWindowInitOptions());
win.activate();
win.addEventListener(Event.CLOSE, function():void
{
NativeApplication.nativeApplication.exit(0);
});
win.stage.addChild(this);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
}
private function onInvoke(event:InvokeEvent):void
{
trace('Invoke...');
}
}
为简洁起见,省略了导入。有人可以帮忙吗?
答案 0 :(得分:3)
以下是我的代码中有关如何执行此操作的示例:
//在我的mxml WindowedApplication描述中:
<mx:WindowedApplication
backgroundColor="0xFFFFFF"
backgroundGradientColors="[0xFFFFFF, 0x93BBFF]"
backgroundGradientAlphas="[0.5, 1]"
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
initialize="initEvent(event)"
>
//需要进入此应用程序的mxml脚本区域的代码
// initialization
private function initEvent(event:Event):void{
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvokeEvent);
NativeApplication.nativeApplication.addEventListener(BrowserInvokeEvent.BROWSER_INVOKE,onBrowserInvoke);
// Alert.show(NativeApplication.nativeApplication.publisherID);
}
//调用程序时调用(可以运行多次)
private function onInvokeEvent(event:InvokeEvent):void{
trace("in onInvoke function");
++invokeCounter;
if(event.arguments.length != 0){
args = event.arguments.join(",");
}else{//do nothing
}
firstInvoke = false;
}
另请参阅adobe help以获取更完整的说明。