apache-flex AS 3和Flex 4 -将AS 3类应用于Flex mxml文件

q3qa4bjr  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(136)

这里有一个AS3类,它可以检测鼠标是否移动:

package
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;

    public class ApplicationTimer extends Sprite
    { 

        public function ApplicationTimer()
        {   
            stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoved);
        }

        public function mouseMoved(event:MouseEvent):void 
        { 
            trace("mouse moved")
        }

    }
}

我尝试做的是将这个类应用到我的主mxml Flex文件中,这样当我的鼠标在我的项目中移动时,就会调用mouseMoved方法。我该怎么做呢?

vxf3dgd4

vxf3dgd41#

MXML文件已经是类,您可以向其中添加脚本。您不能直接使用类,因为MXML使用Flex体系结构,并且MXML组件需要扩展UIComponent,而不是Sprite。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               mouseMove="mouseMoveHandler(event)">

    <fx:Script>
        <![CDATA[
            protected function mouseMoveHandler(event:MouseEvent):void
            {
                trace(event);
            }
        ]]>
    </fx:Script>

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
</s:Application>

相关问题