2016-04-03 1 views
0

Est-il possible de faire en sorte que lorsque vous cliquez sur un bouton la première fois, une couche spécifique deviendra invisible ... et puis une fois que vous cliquez sur le bouton une seconde fois, un autre couche deviendrait invisible, et ainsi de suite? Si oui, pourrais-je voir un exemple? Merci!couches rendant invisibles avec clic de souris

Ce que j'ai essayé:

/************************* 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; 

} 

L'idée est, une fois que je clique sur le bouton de remise à zéro une fois, la couche nommée card, disparaîtra. En dessous de cela une couche sera là, qui est intitulée greencard. Une fois que j'appuie sur le bouton de réinitialisation une seconde fois, je veux que le greencard disparaisse. Comme vous le voyez ci-dessus, je faisais juste (property name).visible = false;.
Cela fonctionne pour la première carte mais pas après, car ils n'apparaîtraient pas.

+0

Tous ce qui précède est possible, mais avez-vous un extrait de code que vous avez essayé que vous pouvez nous montrer? Sans certaines directives (code existant), les réponses sont infinies. – Sparky256

+0

Je ne pense pas que vous puissiez manipuler la visibilité des calques via ActionScript 3, car les calques font partie de l'EDI et non du film. Au lieu de cela, vous devrez utiliser des objets MovieClip, combinés avec des événements de bouton. –

+0

Vous trouverez ci-dessous le code du bouton de réinitialisation. Donc l'idée est, une fois que j'appuie sur le bouton de réinitialisation une fois, la couche nommée carte, disparaîtra. En dessous, il y aura une couche, qui s'appelle greencard. Une fois que j'appuie sur le bouton de réinitialisation une seconde fois je veux que le greencard disparaisse. Comme vous le voyez ci-dessous je faisais juste (nom de la propriété): visible = faux; Cela fonctionne pour la première carte mais pas pour après car elles n'apparaîtraient pas. Voir ci-dessous. –

Répondre

0

Si je vous comprends bien, vous pouvez essayer quelque chose comme ceci ci-dessous:

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

J'ai essayé de mettre ceci dedans et cela ne fonctionne toujours pas ... Je vais partir de ce que vous m'avez donné pourtant. J'apprécie l'aide! –

+0

Juste plaisantant, ça marche! Vous êtes l'homme fringant VC.One! –

+0

Heureux qu'il soit trié. Rappelez-vous aussi que vous pourriez avoir besoin (ou vouloir) de réinitialiser 'clickCount' après avoir fait ces 2 clics. Donc, dans une autre fonction, par exemple: ** start_Next_Game ** il devient 'clickCount = 0; card.visible = true; greencard.visible = true; ' –