2016-04-03 6 views
0

Можно ли сделать это так, что, когда вы нажмете на кнопку в первый раз, определенный слой станет невидимым ... а затем, как только вы нажмете на кнопку второй раз, слой станет невидимым и т. д.? Если бы я мог увидеть пример? Благодаря!Создание слоев невидимым с помощью мыши

Что я пробовал:

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

Ниже приведен код кнопки сброса. Итак, идея состоит в том, что как только я нажму кнопку сброса один раз, слой с именем card, исчезнет. Под этим слоем будет слой, который называется greencard. Как только я нажму кнопку сброса второй раз, я хочу, чтобы greencard исчез. Как вы видите ниже, я просто делал (имя свойства): visible = false; Это работает для первой карты, но не после того, как они не появятся. Смотри ниже. –

ответ

0

Если я вас правильно понял, вы могли бы попробовать что-то вроде этого ниже:

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

Просто шутите, это работает! Ты фриккин, человек VC.One! –

+0

Рад, что это отсортировано. Помните, что вам может понадобиться (или хотите) сбросить 'clickCount' после того, как у вас есть эти 2 клика. Таким образом, в другой функции, например: ** start_Next_Game **, она становится 'clickCount = 0; card.visible = true; greencard.visible = true; ' –

 Смежные вопросы

  • Нет связанных вопросов^_^