用鼠标单击隐藏图层

问题描述:

是否有可能使第一次单击某个按钮时特定图层将变为不可见......然后,一旦再次单击该按钮,层会变成隐形的,依此类推?如果可以,我可以看到一个例子吗?谢谢!用鼠标单击隐藏图层

我已经试过:

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

} 

的想法是,一旦我打复位按钮一次,名为card层,就会消失。在下面会有一个图层,标题为greencard。一旦我第二次点击重置按钮,我想greencard消失。正如你在上面看到的,我只是在做(property name).visible = false;
这适用于第一张卡,但没有任何后,因为他们不会出现。

+0

上述一切都是可能的,但你有一个代码片段你已经尝试过,你能告诉我们?没有一些指导原则(现有的代码),答案是无止境的。 – Sparky256

+0

我不认为你可以通过ActionScript 3操作图层可见性,因为图层是IDE的一部分,而不是电影。相反,您必须使用MovieClip对象,并结合按钮事件。 –

+0

下面是重置按钮的代码。所以想法是,一旦我点击重置按钮一次,名为卡的图层将消失。在下面会有一个图层,标题为greencard。一旦我第二次点击重置按钮,我希望绿卡消失。正如你在下面看到的,我只是在做(属性名称):visible = false;这适用于第一张卡片,但之后不会出现,因为它们不会出现。见下文。 –

如果我理解正确的话,你可以尝试像下面这样:

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

我试过把它放进去,但它仍然不能正常工作......我将尽力让你放弃。我感谢帮助! –

+0

只是开玩笑,它的作品!你是frickin的男人VC.One! –

+0

很高兴分类。请记住,您可能需要(或希望)在点击2次后重置“clickCount”。所以在另一个函数中,例如:** start_Next_Game **它变成'clickCount = 0; card.visible = true; greencard.visible = true;' –