我正在尝试使用补间类让我的“按钮”反弹。我也试图通过使用一个函数来处理我的所有按钮的效果,使我的代码更有效。
var MusicClip:MovieClip = new music_mc();
var MoviesClip:MovieClip = new movie_mc();
var GameClip:MovieClip = new game_mc();
MusicClip.y = 63;
MusicClip.x = 577;
MoviesClip.y = 87;
MoviesClip.x = 401;
GameClip.y = 75;
GameClip.x = 151;
addChild(MusicClip);
addChild(MoviesClip);
addChild(GameClip);
这是我遇到困难的地方。我以为我必须补间 所有三个MovieClip的scaleX和scaleY,但按钮只显示在 舞台,并没有动画。如果我可以把这个代码放在一个函数,所以我 不必为每个按钮(以及将来的按钮)写出来都很棒。
var scaleTween:Tween=new Tween(MusicClip,"scaleX",Elastic.easeOut,0,1,1,true);
var scale2Tween:Tween=new Tween(MusicClip,"scaleY",Elastic.easeOut,0,1,1,true);
我没有收到任何错误,但没有生效。
答案 0 :(得分:1)
您需要将侦听器分配给您在执行某些操作时执行操作的MovieClip。您可以为所有MovieClip使用单个事件处理程序:
MusicClip.addEventListener(MouseEvent.MOUSE_OVER,bounceButton);
MusicClip.addEventListener(MouseEvent.MOUSE_OVER,bounceButton);
MoviesClip.addEventListener(MouseEvent.MOUSE_OVER,bounceButton);
function bounceButton(event:MouseEvent):void
{
var scaleTween:Tween=new Tween(event.target,"scaleX",Elastic.easeOut,0,1,1,true);
var scale2Tween:Tween=new Tween(event.target,"scaleY",Elastic.easeOut,0,1,1,true);
}
请注意,您不是将任何一个MovieClip指定为补间目标,而是使用event.target
,它将引用您已翻转过的MovieClip。
在不相关的说明中,最好使用小写字母开始实例名称。这有助于将它们与类名区分开来,按照惯例,它们使用大写字母来开始每个单词:
var myVariable:MyClass;