Чистый проект AS3 с onInvoke работает - PullRequest
0 голосов
/ 27 августа 2009

Я пытаюсь создать чистый проект ActionScript 3 AIR, без Flex, что-то вроде следующего вопроса:

Проект ActionScript для приложения AIR?

... но я не совсем уверен, как получить доступ к аргументам командной строки из 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...');
    }
}

Импорт опущен для краткости. Кто-нибудь может помочь?

1 Ответ

3 голосов
/ 27 августа 2009

Вот пример из моего кода о том, как это сделать:

// в моем описании 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 для более полного описания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...