2016-04-03 19 views
0

Bir düğmeyi ilk kez tıklattığınızda belirli bir katmanın görünmez hale gelmesi ve düğmeyi ikinci kez tıklattığınızda farklı katman görünmez olur, vb? Öyleyse bir örnek görebildim mi? Teşekkürler! Ben denedim neFare tıklamasıyla katmanları görünmez hale getirme

: Bir keresinde reset tuşuna basın kez

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

} 

fikri, card adlı katman kaybolur edilir. Altında greencard başlıklı bir katman var olacak. Sıfırlama düğmesine bastığımda, ikinci kez greencard'un kaybolmasını istiyorum. Yukarıda gördüğünüz gibi, sadece (property name).visible = false; yapıyordum.
Bu, ilk kart için çalışır, ancak sonra görünmeyeceklerinden dolayı yoktur. Ben doğru anlamak

+0

Tüm mümkündür, ancak sen bize göstermek anlamına çalıştık bir kod parçası var mı? Bazı kurallar (mevcut kod) olmadan, cevaplar sonsuzdur. – Sparky256

+0

Katmanlar, film değil, IDE'nin parçası olduğu için, ActionScript 3 aracılığıyla katman görünürlüğünü değiştirebileceğinizi düşünmüyorum. Bunun yerine, düğme olaylarıyla birlikte MovieClip nesnelerini kullanmanız gerekir. –

+0

Aşağıda, sıfırlama düğmesinin kodu yer almaktadır. Yani fikir şu ki, sıfırlama düğmesine bir kez bastığımda, kart adı verilen katman kaybolacak. Altında bir katman var olacak, hangi adı greencard. Sıfırlama düğmesine bastığımda ikinci kez greencard'ın kaybolmasını istiyorum. Aşağıda gördüğünüz gibi sadece yapıyordum (özellik adı): visible = false; Bu ilk kart için çalışıyor, ancak sonra görünmeyeceklerinden dolayı değil. Aşağıya bakınız. –

cevap

0

, aşağıda böyle bir şey deneyebilirsiniz:

yukarıdaki
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

Bunu yerleştirmeyi denedim ve hala çalışmıyor ... Yine de bana verdiğin şeyi bırakacağım. Yardımı takdir ediyorum! –

+0

Sadece şaka, işe yarıyor! Sen kediciksin VC.One! –

+0

Sevindiğine sevindim. Bu 2 tıklamayı aldıktan sonra 'clickCount'unu sıfırlamanız (veya istediğinizde) isteyebileceğinizi unutmayın. Yani başka bir fonksiyonda örneğin: ** start_Next_Game ** 'clickCount = 0; card.visible = true; greencard.visible = true; ' –

İlgili konular