2016-04-03 21 views
0

Ist es möglich zu machen, so dass, wenn Sie auf eine Schaltfläche zum ersten Mal klicken, wird eine spezifische Schicht unsichtbar geworden ... und dann, wenn Sie auf die Schaltfläche ein zweites Mal klicken, wird eine andere Schicht würde unsichtbar werden, und so weiter? Wenn ja, könnte ich ein Beispiel sehen? Vielen Dank!machen Ebenen unsichtbar mit Mausklick

Was ich versucht habe:

/************************* RESET BUTTON **************************/ 
reset_btn.addEventListener(MouseEvent.CLICK,reset); 

function reset(e:Event) : void 
{ 
    eraserClip.graphics.clear(); 
    initEraser(); 

    erasableBitmapData.fillRect(erasableBitmapData.rect, 0xFFFFFFFF); 
    penny.visible = true; 
    maskee4.visible = true; 
    card.visible = false; 
    greencard.visible = true; 

} 

Die Idee ist, sobald ich die Reset-Taste einmal getroffen, die Schicht card genannt, wird verschwinden. Darunter befindet sich eine Ebene mit dem Titel greencard. Sobald ich die Reset-Taste ein zweites Mal gedrückt habe, möchte ich die greencard verschwinden. Wie Sie oben sehen, habe ich gerade (property name).visible = false; getan.
Dies funktioniert für die erste Karte, aber nicht für alle, weil sie nicht erscheinen würden.

+0

Alle der oben genannten ist möglich, aber Sie haben einen Code-Schnipsel, die Sie versucht haben, dass Sie uns zeigen können? Ohne einige Richtlinien (bestehender Code) sind die Antworten endlos. – Sparky256

+0

Ich glaube nicht, dass Sie die Layer-Sichtbarkeit durch 3 Actionscript manipulieren können, da Schichten ein Teil der IDE sind, nicht der Film. Stattdessen müssen Sie MovieClip-Objekte zusammen mit Schaltflächenereignissen verwenden. –

+0

Unten ist der Code für die Reset-Taste. Also die Idee ist, sobald ich den Reset-Knopf einmal gedrückt habe, verschwindet die Ebene namens Karte. Darunter befindet sich eine Ebene, die Greencard heißt. Sobald ich die Reset-Taste ein zweites Mal drücke, will ich, dass die Greencard verschwindet. Wie Sie unten sehen, habe ich gerade getan (Name der Eigenschaft): visible = false; Das funktioniert für die erste Karte, aber nicht für die nächste, weil sie nicht erscheinen würden. Siehe unten. –

Antwort

0

Wenn ich Sie richtig verstehe, könnten Sie so etwas wie dies unten probieren:

reset_btn.addEventListener(MouseEvent.CLICK, reset); 

var clickCount : int = 0; //# start with zero since no clicks yet 

card.visible = true; 
greencard.visible = true; 

function reset(e:Event) : void 
{ 
    clickCount += 1; //# adds +1 to current count of clicks 

    eraserClip.graphics.clear(); 
    initEraser(); 

    erasableBitmapData.fillRect(erasableBitmapData.rect, 0xFFFFFFFF); 
    penny.visible = maskee4.visible = true; //# if same value (true) you can chain them like this 

    if (clickCount == 1) //if now 1 click 
    { 
     card.visible = false; 
    } 

    if (clickCount == 2) //if now 2 clicks 
    { 
     greencard.visible = false; 
    } 

} 
+0

Ich habe versucht, dies zu tun und es funktioniert immer noch nicht ... Ich werde gehen, was du mir gabst. Ich schätze die Hilfe! –

+0

Nur Spaß, es funktioniert! Du bist der verrückte Mann VC.One! –

+0

Froh, dass es sortiert ist. Denken Sie auch daran, dass Sie 'clickCount' möglicherweise zurücksetzen müssen (oder möchten), nachdem Sie diese 2 Klicks erhalten haben. Also in einer anderen Funktion zB: ** start_Next_Game ** wird es 'clickCount = 0; card.visible = wahr; greencard.visible = true; ' –