【问题标题】:Flex: How to animate the target I've clicked on?Flex:如何为我点击的目标设置动画?
【发布时间】:2012-05-11 11:25:53
【问题描述】:

我编写了一个循环,将 MouseEVENT.CLICK 事件侦听器添加到我视图中的所有图像。

(这部分有效)

var numChildren:int = PageScroll.numChildren; 

for (var i:int = 0; i < numChildren; i++) { 
    if(PageScroll.getChildAt(i) is Image)
    { 
        PageScroll.getChildAt(i).addEventListener(MouseEvent.CLICK, onClick);
    }
}

现在我想让 onClick 在我点击的目标上播放动画...

我不知道怎么做,通过google也找不到....

protected function onClick(event:MouseEvent):void
{
    maxSize.play(new Array(event.target), false);
}

(这部分不起作用)

【问题讨论】:

  • 使用currentTarget。另请注意,如果您使用 Flex 4 容器(如您的标签所示),您可能应该使用 getElement 而不是 getChild。如果这是一个图像列表,那么您似乎在重新发明轮子:您需要一个 List 组件。

标签: apache-flex animation flex4 flex-spark


【解决方案1】:

检查此代码;这会帮助你...

<mx:Canvas id="can" width="500" height="500">
        <mx:Image source="indian cricket logo.png"/>
</mx:Canvas>
<mx:Resize id="resize" widthBy="50" heightBy="50" duration="500"/>


protected function application1_creationCompleteHandler(event:FlexEvent):void
    {
        for (var i:int = 0; i< can.numChildren;i++){
            if(can.getChildAt(i) as Image){
                        Image(can.getChildAt(i)).addEventListener(MouseEvent.CLICK,onMouseCLick,false,0,true);
                  }
          }

    }

private function onMouseCLick(e:MouseEvent):void
{
    resize.play([e.currentTarget]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    相关资源
    最近更新 更多