2011-11-08 7 views
0

私はactionscipt 3のフラッシュで簡単なゲームを構築しています。 ステージ上の3つのムービークリップをクリックすると、「3つのムービークリップすべてをクリックしていただきありがとうございます!3つのムービークリップがクリックされた場合のメッセージの追跡方法

このメッセージは、1つではなく3をクリックすると表示される必要があります。

任意のアイデア:)

答えて

1

あなたはリスナーのそれぞれは、例えば、アクセスすることができますどこがクリックされた場合は保存したい:

var clicked1:Boolean = false; 
var clicked2:Boolean = false; 
var clicked3:Boolean = false; 

その後、あなたのアクションリスナメソッド(複数可)の内側:

function listenerMethod1(e:MouseEvent):void { 
    clicked1 = true; 
    checkIfAllClicked(); 
} 

function listenerMethod2(e:MouseEvent):void { 
    clicked2 = true; 
    checkIfAllClicked(); 
} 

function listenerMethod3(e:MouseEvent):void { 
    clicked3 = true; 
    checkIfAllClicked(); 
} 

など(または、同じハンドラメソッドで3つのmovieClipイベントをすべて処理できます)。

function checkIfAllClicked(){ 
    if(clicked1 && clicked2 && clicked3){ 
    trace("Thanks for clicking all 3 movieclips!"); 
    } 
} 

あなたは何をしているのかによって、すべての3をすべて偽にリセットすることもできます。

ムービークリップが大量にある場合は、Vector<Boolean>などのコレクションの使用を検討することができます。

+0

を私は同様に右にこれを追加する必要がありますと思う: box1.addEventListener(MouseEvent.CLICK、listenerMethod1) ; box2.addEventListener(MouseEvent.CLICK、listenerMethod2); box3.addEventListener(MouseEvent.CLICK、listenerMethod3); ありがとう:) – Asimina88

+0

リスナーメソッドは、それを呼び出す対応するaddEventListner()を持っている必要があります – ToddBFisher

0

それとも、すべてのボタンを使用し、単一の機能かもしれない:

var count:uint = 0; 

function buttonPress(e:MouseEvent):void { 
    count++; 

if (count == 3) { 
trace("Thanks for clicking all 3 movieclips!"); 

//reset count if required 
//count = 0; 
} 

}

+0

ユーザーはムービークリップを複数回クリックする可能性があります。それぞれから最初にクリック.. ありがとう:) – Asimina88

関連する問題