Массив индексации, ненулевая ошибка AS3 - PullRequest
0 голосов
/ 07 августа 2010

Эта картинная галерея добавляет детей.Он делает то, что ему нужно, но выдает ошибку # 2007.

Есть проблема с мусором и диапазоном, которую я хочу исправить.Есть ли простое решение для этого?

//PICTURE GALLERY
var um0:MovieClip = new z0;
var um1:MovieClip = new z1;
var um2:MovieClip = new z2;
var um3:MovieClip = new z3;
var AR:Array = [um0,um1,um2,um3];
var i:int = 0;  
//GO FORWARD THROUGH GALLERY
b.addEventListener(MouseEvent.CLICK, onClam);
function onClam(e:MouseEvent){
i++;
containerInstance.addChild(AR[i]);
}
//GO BACKWARD THROUGH GALLERY 
d.addEventListener(MouseEvent.CLICK, onClum);
function onClum(e:MouseEvent){
i--;
containerInstance.addChild(AR[i]);
}

ОШИБКА
Ошибка типа: Ошибка # 2007: дочерний параметр должен быть ненулевым

1 Ответ

2 голосов
/ 07 августа 2010

Попробуйте сделать так, чтобы ваш индекс обернулся вокруг длины массива (вы также можете использовать по модулю, но я думаю, это проще):

function onClam(e:MouseEvent){
    i++;
    if(i >= AR.lenght) {
        i = 0;
    }
    containerInstance.addChild(AR[i]);
}

function onClum(e:MouseEvent){
    i--;
    if(i < 0) {
        i = AR.length - 1;
    }
    containerInstance.addChild(AR[i]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...