2012-04-18 10 views
0

トゥイーンクラスを使用して効果的にバウンスを与えようとしています。私は、すべてのボタンに対してこのエフェクトを処理する関数を使用することによって、コードをより効率的にしようとしています。トゥイーンを使用してムービークリップのバウンス効果を与えるAS3スケールのxとy

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); 

これは私が苦労しているところです。私は scaleXとscaleYの3つのMovieClipsをトゥイーンしなければならないと考えましたが、このボタンは ステージに表示され、アニメーション化されません。また、このコードを関数に入れると、 それは偉大なすべてのボタン(および将来のボタン)のためにそれを書くことです。

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

だから、何も起こりません。もっとコードを投稿していただけますか?どのTweenクラスを使っていますか? – www0z0k

+0

イベントをアニメーションに割り当てる場所はどこですか?どんなエラーでも、ボタンから来るイベントに対して実際に行動を起こしていないことを意味しません。 – shanethehat

答えて

1

何かをしたときにアクションを実行するリスナーをムービークリップに割り当てる必要があります。むしろ、トゥイーンのターゲットとしていずれかのムービークリップを指定するよりも、あなたがロールオーバーされているムービークリップを参照しますevent.targetを、使用していることを

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); 
} 

注:あなたは、あなたのムービークリップのすべてのための単一のイベントハンドラを使用することができます。

関連性の低いメモでは、インスタンス名を小文字で開始することをお勧めします。これは、大文字で各単語を始めるための大文字を持つクラス名と区別するのに役立ちます。

関連する問題