我试图让这个代码让对象走到前面:
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必须是调用者的子代。
如果对象位于前面,则需要像j http://api.jquery.com/animate/那样在jquery中执行类似.animation的操作,尤其是带有动画块1和块2的演示:
$( "#go1" ).click(function() {
$( "#block1" )
.animate({
width: "90%"
}, {
queue: false,
duration: 3000
})
但比as3
答案 0 :(得分:0)
编写代码的方式是将this
移动到movieclip1
个孩子的顶部。你确定要这么做吗?错误为您提供了一个完美的理由:this
不是movieclip1
的孩子。
我想你想把movieclip1
移到this
的孩子的顶端。这样你应该像这样写代码:
this.setChildIndex(movieclip1, this.numChildren - 1);
关于动画部分,我认为你正在使用Actionscript 3中的补间。我建议使用Greensock's TweenMax Library,它非常容易掌握,可以免费用于非订阅和非赌博项目。
答案 1 :(得分:0)
我会假设您要移动的物体是flap1? 而且flap1是movieclip1的孩子吗?
在这种情况下,你需要的是:
movieclip1.setChildIndex(flap1, movieclip1.numChildren-1);
您所描述的错误完全正确,您引用的DisplayObject需要是被调用者的子对象。在这种情况下,调用者是movieclip1(因为它调用方法setChildIndex)。而且flap1是movieclip1的孩子。