2011-12-29 7 views
0

AS3はとても新しいです。AS3オブジェクトのCSSに似たクラス

MCの特定のオブジェクトに「クラス」(クラスのようなCSSの意味)のロールオーバーを与えたいと思います。そこで、rollOverオブジェクトとして宣言されたすべてのオブジェクトをフェードアップするrollOverを自動的に作成することができます。

jQueryのexmaple

$("#myObject .rollOverObject").animate(...); 

AS3でそのような何かを達成するための最良の方法だろうか?

ありがとうございます。

+1

私はそれが新しい*パラダイムを学ぶ時間かもしれないと思う... –

答えて

2

AS3にCSSクラスはありません。しかし、できることは、MCの上にEventListenerを作成し、そこでアニメーションを行います。それはこのように見えます。

for (var i : int = 0; i < mcContainer.numChildren; i++) 
{ 
    // reference to a child of the container 
    var mcChild:MovieClip = mcContainer.getChildAt(i) as MovieClip; 

    // validate by name 
    if(mcChild.name == "something you want to check") 
    { 
     mcChild.addEventListener(MouseEvent.ROLL_OVER, onMcRollOver); 
    } 
} 

function onMcRollOver(event:MouseEvent) : void 
{ 
    // create a reference to the MovieClip that is rolled over 
    var mcTarget:MovieClip = event.currentTarget as MovieClip; 

    // do what you like with the mcTarget 
    mcTarget.alpha = 0.5; 
} 

あなたはもうあなたにはまねの方法でこれらのリスナーを削除することができMovieClipsを使用して行われている、またはROLL_OVERリスナーを必要としない場合。

for (var i : int = 0; i < mcContainer.numChildren; i++) 
{ 
    // reference to a child of the container 
    var mcChild:MovieClip = mcContainer.getChildAt(i) as MovieClip; 

    // validate by name 
    if(mcChild.hasEventListener(MouseEvent.ROLL_OVER)) 
    { 
     mcChild.removeEventListener(MouseEvent.ROLL_OVER, onMcRollOver); 
    } 
} 

速いGoogle searchはあなたの学習をさらに深めることができます。

+0

あなたの答えをありがとう。残念ながら、どれくらいあるかを知らなくても、複数のオブジェクトに動的にアクセスする必要があります。これを行うには、すべてのMCのリストを取得して名前を確認する方法があります。こうすることで、rollOverオブジェクトにrO_ExampleNameなどの名前を付けることができます。 myMovieClip.each()のようなものがありますか? – matteok

+0

私は自分の答えを更新しました。 'numChildren'を使って子をループすることができます –

+0

ありがとうございました。私はちょうどトピックから少しだけ最後の質問があります。ローダークラスでムービーをロードすると、myLoader.contentを使用してアクセスできます。残念ながら、myLoader.contentはDisplayObjectであり、MovieClipではありませんので、あなたが提案したループを使用するとエラーが発生します。回避策がありますか、何か間違っていますか? – matteok

0

夢中のトゥイーンを見てください:

関連する問題