私がお勧めするのは、ボタンをクリックして組み立てられ、設定した特定のシーケンスと比較される文字列オブジェクトを作成することです。これの利点は、任意の長さのシーケンスで機能させることができることです。
ここで最大のことは、3つのボタンすべてに同じイベントリスナーが必要ないことです。それらのアクションを一意にする必要があります。そうでない場合、1つをクリックすることは、他のすべてをクリックすることと同じです(これが現在のコードの問題です)。
var checkString:String = "";
//Create event listeners and their functions.
YellowButton.addEventListener(Mouse.CLICK, yellowClick);
RedButton.addEventListener(Mouse.CLICK, redClick);
BlueButton.addEventListener(Mouse.CLICK, blueClick);
function yellowClick(evt:Event):void
{
//In each event listener function, add a letter or
//string to the checkString variable.
checkString += "y";
//Then, see if the string matches or not.
check();
}
function redClick(evt:Event):void
{
checkString += "r";
check();
}
function blueClick(evt:Event):void
{
checkString += "b";
check();
}
//If the proper sequence is red, yellow, blue, the string would read "ryb".
function check():void
{
if(checkString == "ryb")
{
//Clear the checkString for convenience before going on.
clearString();
//CODE TO GO TO NEW FRAME
gotoAndStop(20);
}
else
{
//Make sure the string is at least 3 characters long.
if(checkString.length >= 3)
{
clearString();
gotoAndStop(foo);
}
}
}
function clearString():void
{
//You will want to have a function for clearing the string.
//This is especially useful if you have a button for "start over."
checkString = "";
}
それはあなたが始めるのに十分なはずです。さらにサポートが必要な場合は、私の回答にコメントしてください。