2016-07-15 18 views
-1

Ich baue ein Hangman-Spiel. Ich habe einige Buchstaben, die die falschen Buchstaben sind, und ich baute ein Array mit ihnen. Wenn ein falscher Buchstabe angeklickt wurde, bewegt sich mein Filmclip Kremmala einen Rahmen, der den Henker zeigt, und der falsche Buchstabe wird Alpha = .5. Das Problem ist, dass ich nach dem siebten Klick meinen Movieclip Kremmala bei Frame 8 stoppen möchte und die Elemente des Arrays nicht mehr anklickbar sein sollen. Ich habe Probleme beim Erstellen des Codes. Jede Hilfe wird geschätzt.Funktion aus den Elementen eines Arrays entfernen in as3

ich nur diesen Code haben bis jetzt:

var wrongletters:Array = [a2,a3,a4,a5,a6,a8,a9,a10,a11,a12,a13,a14,a15,a16,a19,a20,a21,a22,a23] 
for (var i:int= 0; i< wrongletters.length; i++) { 
    wrongletters[i].buttonMode = true; 
    wrongletters[i].isClicked = false; 
    wrongletters[i].addEventListener(MouseEvent.CLICK, kanoklick); 
    function kanoklick(event:MouseEvent):void 
{ 
     kremmala.nextFrame(); 
     event.target.alpha = 0.5; 
     if(event.currentTarget.isClicked == false){ 
     clickCount ++; 
     event.currentTarget.isClicked = true; 
} 
if(clickCount == 7){ 
kremmala.stop(); 
trace("All buttons have been clicked"); 
} 
} 
} 

Antwort

2

ich zwei Möglichkeiten denken kann:

1) Deaktivieren der Steuerung (Liste), die das Array mit allen Buchstaben hält. Ich nehme an, es gibt eine sichtbare Liste mit ID = "list1", die den wrongletters:Array als Datenprovider hat.

list1.enabled = false; 

oder 2) Entfernen des Ereignis-Listeners.

for (var i:int= 0; i< wrongletters.length; i++) 
{ 
    wrongletters[i].removeEventListener(MouseEvent.CLICK, kanoklick); 
} 
+0

Ich habe die zweite Option ausprobiert und es hat funktioniert. Vielen Dank! – Marianna

+0

Beachten Sie, dass Sie die Klickinteraktion nur aus dem Array "falfletters" entfernen. Das (möglicherweise existierende) "rightletters" Array kann immer noch angeklickt werden. Von meinem Wissen über das Spiel in Kremala aus, würdest du beides verhindern wollen. –

+0

Ja, ich habe das gleiche mit dem richtigen Buchstaben-Array gemacht. Vielen Dank! – Marianna

Verwandte Themen