AS3 Array объект отображается при заказе - PullRequest
0 голосов
/ 23 марта 2012

У меня есть 3 MC на сцене, которые все альфа = 0

var mcArray:Array = [mc1,mc2,mc3];
for (var j:int = 0; j < mcArray.length; j++)
{
    mcArray[j].alpha = 0;
}

У меня есть одна кнопка, которую я нажимаю, после чего 1 из MC становится альфа = 1

revealBtn.buttonMode = true;
revealBtn.useHandCursor = false;
revealBtn.addEventListener(MouseEvent.CLICK, revealClick);

function revealClick(event:MouseEvent):void
{
    for (var j:int = 0; j < mcArray.length; j++)
    {
        mcArray[j].alpha = 1;
    }
}

Но с помощью приведенного выше скрипта все 3 MC станут альфа = 1.

Я знаю, что этого можно достичь, используя следующий код:

if(mc1.alpha!=1){
mc1.alpha=1
}
if(mc2.alpha!=1){
mc2.alpha=1
}
if(mc3.alpha!=1){
mc3.alpha=1
}

этот код даст то, чего я хочу достичь, но если будет больше 3 MC, строки скрипта будут длиннее.

Ответы [ 3 ]

3 голосов
/ 23 марта 2012
revealBtn.buttonMode = true;
revealBtn.addEventListener(MouseEvent.CLICK, revealClick);

var mcArray:Array = [mc0,mc1,mc2];

function revealClick(event:MouseEvent):void
{
    for(var i:uint = 0; i<mcArray.length; i++){
        if(this['mc'+i].alpha !== 1){
            this['mc'+i].alpha = 1;
            break;
        }
    }
}
1 голос
/ 23 марта 2012

Просто используйте счетчик.

var cnt : int = -1; 
function revealClick(event:MouseEvent):void
{
    if(++cnt < mcArray.length) mcArray[cnt].alpha = 1;
}
1 голос
/ 23 марта 2012

Нет, если в операторе по-прежнему все три превращаются в альфа 1.

Какое из трех значений вы хотите установить в альфа = 1 при нажатии?

Вы можете использоватьчто-то вроде этого, чтобы установить альфа = 1 на первый mc в массиве, который не имеет альфа = 1

function revealClick(event:MouseEvent):void {
    for (var j:int = 0; j < mcArray.length; j++){
        if ( mcArray[j].alpha != 1 ){
            mcArray[j].alpha = 1;
            return;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...