0

我试图用这段代码让一个对象走到前面:

flap1.addEventListener(MouseEvent.CLICK, move_to_top); // Add the button click

function move_to_top(e:MouseEvent):void {

movieclip1.setChildIndex(this, movieclip1.numChildren-1);

}

但我收到错误 #2025:提供的 DisplayObject 必须是调用者的孩子。

如果对象在前面,则需要在 jquery 中执行类似 .animation 之类的操作,例如http://api.jquery.com/animate/,尤其是带有动画块 1 和块 2 的演示:

$( "#go1" ).click(function() {
  $( "#block1" )
    .animate({
      width: "90%"
    }, {
      queue: false,
      duration: 3000
    })

但比 as3

4

2 回答 2

0

您编写代码的方式正在移动thismovieclip1's children 的顶部。你确定要这样做吗?错误给了你一个完美的理由:this不是movieclip1.

我认为你想移动movieclip1到顶部this的孩子。这样,您应该像这样编写代码:

this.setChildIndex(movieclip1, this.numChildren - 1);

关于动画部分,我认为您指的是 Actionscript 3 中的补间。我建议使用Greensock 的 TweenMax 库,它非常容易掌握并且可以免费用于非订阅和非赌博项目。

于 2013-11-04T15:24:33.070 回答
0

我将假设您要移动的对象是flap1?而flap1 是movieclip1 的孩子吗?

在这种情况下,您需要的是:

movieclip1.setChildIndex(flap1, movieclip1.numChildren-1);

您描述的错误完全正确,您引用的 DisplayObject 必须是被调用的子对象。在这种情况下,调用者是movieclip1(因为它正在调用setChildIndex 方法)。而flap1 是movieclip1 的一个孩子。

于 2013-11-04T15:25:26.513 回答