0

我想在我的 qnx 视图上创建选项菜单,我正在使用 air SDK,我得到了这个示例

<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                             xmlns:s="library://ns.adobe.com/flex/spark" 
                        xmlns:mx="library://ns.adobe.com/flex/mx"
                        creationComplete="createMenu(event)"
                        firstView="views.testHomeView" xmlns:utils="utils.*">

<fx:Declarations>

</fx:Declarations>

<fx:Script>
    <![CDATA[
        import caurina.transitions.Tweener;

        import mx.events.FlexEvent;

        import qnx.events.QNXApplicationEvent;
        import qnx.system.QNXApplication;

        // Registers the drop down menu for PB application
        protected function createMenu( event:FlexEvent ):void
        {
            QNXApplication.qnxApplication.addEventListener( QNXApplicationEvent.SWIPE_DOWN, pullDownMenu );             
        }

        private function pullDownMenu( event:QNXApplicationEvent ):void
        {
            trace( "Menu pulled down" );
            Tweener.addTween(slideMenu, {y: 0, time: 0.5, transition: "linear"});


            /** 
             * add the mouse listener to hide the menu when the user clicks
             * outside of the menu area
             */             

            stage.addEventListener(MouseEvent.CLICK, onStageMouseClick);
        }

        // Hide menu when the screen is touched outside menu
        private function onStageMouseClick( e:MouseEvent ):void
        {
            /** if the user clicks outside of the menu area, hide the menu */               
            if (mouseY > slideMenu.height)
            {
                Tweener.addTween(slideMenu, {y: -slideMenu.height, time: .3, transition: "linear"});                    
                stage.removeEventListener(MouseEvent.CLICK, onStageMouseClick);
                trace( "Menu went up" );
            }
        }

    ]]>
</fx:Script>
<s:navigationContent>
    <utils:Menu id="slideMenu">

    </utils:Menu>
</s:navigationContent>

当我运行此示例时,我收到此错误:VerifyError: Error #1079: Native methods are not allowed in loaded code。

at flash.display::MovieClip/nextFrame()
at mx.managers::SystemManager/deferredNextFrame()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\SystemManager.as:284]
at mx.managers::SystemManager/preloader_preloaderDocFrameReadyHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\SystemManager.as:2633]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.preloaders::Preloader/timerHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\preloaders\Preloader.as:515]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()

错误

非常感谢

4

1 回答 1

1

这可能是因为您在不同版本的 flex 之间切换,导致引用了不同版本的库(.SWF)。

看看这个帖子

于 2012-02-21T04:45:19.360 回答