Elektra 102 Denunciar post Postado Dezembro 6, 2012 O que tenho atualmente: import flash.display.MovieClip; var grupo1:Array = []; var grupo2:Array = []; var grupo3:Array = []; var grupo4:Array = []; var grupo5:Array = []; var qdr:MovieClip ; //var arrays:Array = [] var total:int = 25; var cont:int = 0; var grid = new Sprite(); addChild(grid); for (var i:int = 0; i < total; i++) { qdr = new MovieClip(); //var qdr:MovieClip = new MovieClip(); qdr.graphics.lineStyle(2,0x000066); //visualização qdr.graphics.beginFill(0xBBBBFF, 1); qdr.graphics.drawRect(0,0, 100, 100); qdr.graphics.endFill(); qdr.x = qdr.width * i; //visualização cont++ //i >> [12] ----------------------------------------------------- if(cont==13) { //qdr.visible = false; // teste grupo1.push(i); trace(grupo1); // output >> 12 } //i >> [7],[11],[13],[17]---------------------------------------- if (cont==8 || cont==12 || cont ==14 || cont==18) { grupo2.push(i); trace(grupo2); // output >> 7,11,13,17 } addChild(qdr); } Os arrays, grupo1, grupo2, grupo3, etc, serão adicionados em um Sprite, como máscara para um container. Preciso animar cada objeto com o mesmo resize de 0 a 1 e chamar os arrays com delay, não estou sabendo como acessar. No exemplo tenho 25 mcs e 5 arrays, na prática serão bem mais para criar um grid. obs: aceitável exportar um mc pela library com anima/resize de 0 a 1 e dar um play simultâneo nos índices de cada array. Mesmo assim, preciso chamar os arrays em sequência, com delay. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
marcos.cardoso 10 Denunciar post Postado Dezembro 6, 2012 Bom dia. Você pode utilizar timer definindo um delay de acordo com a necessidade (1s ou 0.5s). Se você atribuir um nome aos quadros que você criou de acordo com que são criados, depois fica mais fácil acessá-los utilizando o array. qdr = new MovieClip(); qdr.name = "qdr" + i; Assim, você pode tentar, por exemplo: trace(getChildByName("qdr" + grupo1[i]).name); abs Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Dezembro 6, 2012 Obrigada pela atenção Marcos. Consegui acessar os mcs populados nos arrays (já tinha testado com name). Todos irão receber a mesma animação (scale de 0 a 1). No exemplo, com resize fixo. Click apenas para teste. //i >> [7],[11],[13],[17]---------------------------------------- if (cont==8 || cont==12 || cont ==14 || cont==18) { grupo2.push(i); trace(grupo2); // output >> 7,11,13,17 qdr.scaleX = .5; qdr.scaleY= .5; qdr.addEventListener(MouseEvent.CLICK, onClickGrupo2); } Na verdade, a intenção é que os arrays >> grupo1, grupo2, etc, estejam aninhados em um arrayTotal, então eu chamaria estes arrays como índices. Mas, por enquanto, fico satisfeita em saber como chamar cada array 'grupo'. Por exemplo >> grupo1.visible = false. Abraços Compartilhar este post Link para o post Compartilhar em outros sites