Lembrei-me que podes verificar quantos items tens carregados na classe e
usa-los ;)

do género:

Na timeline do flash:


import pt.web.camposbaptista.utils.BuildGrid;

var builGrid:BuildGrid = new BuildGrid(10,5,20);
builGrid.x = 100;
builGrid.y = 100;
addChild(builGrid);

var tamanho:int = builGrid.numChildren - 1

for (var i:Number = 0; i < tamanho; ++i)
                {
                    var obecto = dummy.getChildAt(i);

                    var numRandom:Number = Math.floor(Math.random() * 10+1);
                    obecto .gotoAndStop(numRandom);

                }


cumps



2009/11/3 Paulo Ferreira <[email protected]>

>
>
> On Tue, Nov 3, 2009 at 4:48 PM, CBaptista <[email protected]>wrote:
>
>>
>> Oi!
>>
>> Apesar de já me começar a safar na construção de classes em AS3 ainda
>> tenho muitas dúvidas.
>>
>> Criei a class BuildGrid.as
>>
>>
>> package pt.web.camposbaptista.utils {
>>
>>        import flash.display.MovieClip;
>>        import flash.display.Sprite;
>>
>>        public class BuildGrid extends MovieClip{
>>                //Properties
>>                private var _columns:Number;
>>                private var _rows:Number;
>>                private var _interval:Number;
>>
>>                //Constructor
>>                public function BuildGrid (colomns:Number, rows:Number,
>> interval:Number):void {
>>                        _columns = colomns;
>>                        _rows = rows;
>>                        _interval = interval;
>>
>>                        buildingTheGrid();
>>                }
>>
>>                //Methods
>>                public function buildingTheGrid():void{
>>                        for (var i:int = 0; i < _columns; i++) {
>>                                for (var j:int = 0; j < _rows; j++) {
>>                                        var boardPiece:BoardPiece = new
>> BoardPiece;
>>
>>                                        //var numRandom:Number =
>> Math.floor(Math.random() * 10+1);
>>                                        boardPiece.x = 0 +
>> (boardPiece.width + _interval) * i;
>>                                        boardPiece.y = 0 +
>> (boardPiece.height + _interval) * j;
>>
>>
>>  //boardPiece.gotoAndStop(numRandom);
>>
>>                                        addChild(boardPiece);
>>                                }
>>                        }
>>                }
>>        }
>> }
>>
>>
>>
>>
>> Na timeline do flash:
>>
>>
>> import pt.web.camposbaptista.utils.BuildGrid;
>>
>> var builGrid:BuildGrid = new BuildGrid(10,5,20);
>> builGrid.x = 100;
>> builGrid.y = 100;
>> addChild(builGrid);
>>
>>
>> A class funciona perfeitamente e alterando os parâmetros decido o
>> número de colunas, linhas e o espaço entre os objectos.
>>
>> Se descomentar as linhas dentro da função buildingTheGrid consigo que
>> os movieclips que importo da library para a stage apareçam com frames
>> em random.
>>
>> Eu gostava de saber como posso na timeline fazer com que os movieclips
>> apareçam com as frames em random. Eu queria evitar fazer isto dentro
>> da classe porque alem de achar um erro continuar a trabalhar como a
>> timeline não queria sobre carregar a class com demasiadas “tarefas”.
>>
>> >>
>
> Estava aqui a ver, e eu fazia assim ;)
> Das três uma:
>
> lanças um evento no final com uma array das boardPiece carregadas na classe
> BuildGrid
> e escutas na timeline e controlas cada uma delas, dps de já criadas ;)
>
> ou colocas um valor booleano do genero:
>
>  public function BuildGrid (colomns:Number, rows:Number, interval:Number,
> random:Boolean = false):void
>
> e verificavas se o corria ou n
>
> if(random)
> boardPiece.gotoAndStop(Math.floor(Math.random() * 10+1));
>
> ou então mete o código na BoardPiece =D
>
> espero ter ajudado ;)
>
> cumps,
> Paulo Ferreira
>

--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para 
[email protected]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

Responder a