代码之家  ›  专栏  ›  技术社区  ›  josef.van.niekerk

纯AS3项目,具有onInvoke功能

  •  0
  • josef.van.niekerk  · 技术社区  · 15 年前

    我正在尝试创建一个纯ActionScript 3 AIR项目, Flex,有点像下面的问题:

    ActionScript Project to AIR Application?

    …但我不确定如何从onInvoke()访问命令行参数。我需要它来访问纯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...');
        }
    }
    

    1 回复  |  直到 7 年前
        1
  •  3
  •   Matt Beldyk    15 年前

    下面是我的代码中关于如何执行此操作的示例:

    <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 以获取更完整的描述。