Делаем слои невидимыми щелчком мыши

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

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

/************************* 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;.
Это работает для первой карты, но не для последующих, потому что они не будут отображаться.


person Ian St. Pierre    schedule 03.04.2016    source источник
comment
Все вышеперечисленное возможно, но есть ли у вас фрагмент кода, который вы пробовали, который вы можете нам показать? Без некоторых руководств (существующий код) ответы бесконечны.   -  person    schedule 04.04.2016
comment
Я не думаю, что с помощью ActionScript 3 можно управлять видимостью слоев, поскольку слои являются частью IDE, а не фильма. Вместо этого вам придется использовать объекты MovieClip в сочетании с событиями кнопок.   -  person slackwing    schedule 04.04.2016
comment
Ниже приведен код кнопки сброса. Итак, идея в том, что как только я один раз нажму кнопку сброса, слой с именем карты исчезнет. Под этим будет слой, который называется гринкарта. Как только я нажму кнопку сброса во второй раз, я хочу, чтобы гринкарта исчезла. Как вы видите ниже, я просто делал (имя свойства):visible=false; Это работает для первой карты, но не для последующих, потому что они не появятся. Смотри ниже.   -  person Ian St. Pierre    schedule 04.04.2016
comment
/************************* КНОПКА СБРОСА ********************** ****/ reset_btn.addEventListener(MouseEvent.CLICK,reset); функция reset(e:Event):void { eraserClip.graphics.clear(); инициализироватьEraser(); стираемыйBitmapData.fillRect(erasableBitmapData.rect, 0xFFFFFFFF); пенни.видимый = правда; maskee4.visible=истина; card.visible=ложь; greencard.visible=истина;   -  person Ian St. Pierre    schedule 04.04.2016
comment
Вы должны показать код.   -  person BotMaster    schedule 04.04.2016


Ответы (1)


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

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; 
    }

}
person VC.One    schedule 04.04.2016
comment
Я пытался вставить это, и это все еще не работает ... Однако я уйду от того, что вы мне дали. Я ценю помощь! - person Ian St. Pierre; 04.04.2016
comment
Рад, что все в порядке. Помните также, что вам может понадобиться (или вы захотите) сбросить clickCount после того, как вы сделаете эти 2 клика. Таким образом, в другой функции, например: start_Next_Game, оно становится clickCount = 0; card.visible = true; greencard.visible = true; - person VC.One; 05.04.2016
comment
Спасибо! Еще одна проблема, с которой я столкнулся, заключается в том, как сделать так, чтобы каждый раз, когда пользователь нажимает кнопку сброса, игра сохраняла свои данные... чтобы пользователь не возвращался к самой первой карте каждый раз, когда он откройте игру снова. - person Ian St. Pierre; 07.04.2016
comment
Посмотрите Общие объекты AS3 как один из вариантов. Вот краткое руководство. Создание игр не является моей основной сферой деятельности, поэтому поищите дополнительные варианты с помощью веб-поиска. - person VC.One; 07.04.2016