Actionscript 3 如何在as3中使用“移动到顶部”
我试图让一个对象走到前面,代码如下:Actionscript 3 如何在as3中使用“移动到顶部”,actionscript-3,flash,Actionscript 3,Flash,我试图让一个对象走到前面,代码如下: 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必须是调用者的子对象 如果对象位
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的操作,尤其是使用动画块1和块2的演示:
$( "#go1" ).click(function() {
$( "#block1" )
.animate({
width: "90%"
}, {
queue: false,
duration: 3000
})
但是,与as3相比,您编写代码的方式将
这个移动到movieclip1
的子项的顶部。你确定你想这么做吗?错误本身给了您一个完美的理由:此
不是movieclip1
的子项
我想你想把movieclip1
移到这个
孩子的顶端。这样,您应该像这样编写代码:
this.setChildIndex(movieclip1, this.numChildren - 1);
关于动画部分,我想你是在参考动作脚本3中的tweens。我建议使用非常容易掌握且免费用于非订阅和非赌博项目的工具。我假设您试图移动的对象是flap1?
flap1是电影LIP1的孩子吗
在这种情况下,您需要的是:
movieclip1.setChildIndex(flap1, movieclip1.numChildren-1);
您描述的错误完全正确,您正在引用的DisplayObject需要是被调用对象的子对象。在本例中,调用者是movieclip1(因为它正在调用方法setChildIndex)。flap1是movieclip1的子对象。flap1不是对象对象是movieclip1,如果单击flap1,它必须转到前面。唯一的问题是,如果我再次播放当前动画,它必须再次转到背景。这是我需要的,但他们不会让tje对象展开,使其变得更大。你知道我可以在哪里找到它吗那?我不知道你说的分散是什么意思,你是想让它扩大吗?如果是这样,您可以使用scaleX
和scaleY
属性。要将movieclip1
发送到后面,您应该调用相同的方法,但要更改第二个参数,使其看起来像这样:this.setChildIndex(movieclip1,0)代码>谢谢,我的意思是:我使用了greensock代码让对象与TweenMax“展开”,但为了让它再次返回,如果我使用此代码,我会出错:var myTween:TweenMax=newTweenMax(movieclip1,3,{y:200,repeat:2,repeatDelay:1,onComplete:myFunction});movieclip1.addEventListener(MouseEvent.CLICK,反转);//添加按钮单击函数reverse(e:MouseEvent):void{TweenMax.reverse();}在AddEventListener中,您在TweenMax
上静态调用reverse()
方法,而不是在tween对象上。尝试更改TweenMax.reverse()代码>带有myTween.reverse()
请注意,如果要从另一个方法访问它,则应将myTween
声明为实例变量。