rafahesse 0 Denunciar post Postado Novembro 11, 2009 Olá ja procurei diversos tutoriais de como fazer isso, mas infelizmente, nenhum me ajudou estou querendo saber como faço para duplicar um movieClip - uma forma simples, na qual eu possa definir novas coordenadas para essa cópia PS: Tem que ser tudo via script, não pode ser um movieClip que fica na library e é puxado (como alguns tutoriais mostram) Agradeço desde já Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 12, 2009 Primeiramente bem vindo ao forum Segundo é AS 3 que você quer? Se for a melhor forma realmente é dar um addChild variais vezes... pode ser de um clip externo que você carrega com diferentes nomes... ou um clip na library Exemplo var arr:Array = new Array('banner1.jpg','banner2.jpg','banner3.jpg'); var loader:Loader; var xInit:Number = 10; var inic = 0; function init(){ loader = new Loader(); loader.load(new URLRequest(arr[inic])); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); } function onComplete(e:Event):void{ var mc:MovieClip = new MovieClip(); addChild(mc); e.target.content.x = xInit; xInit += 40; mc.addChild(loader); if(inic < arr.length - 1){ inic++; init(); } } init(); Isso deve funcionar abraços Compartilhar este post Link para o post Compartilhar em outros sites
rafahesse 0 Denunciar post Postado Novembro 12, 2009 Muito obrigado!! (é as3 sim que eu quero - erro de digitação) No entando, acho que nao fui muito claro quanto ao que eu queria... Em meu arquivo, crio o moviclip que quero duplicar assim: var square:MovieClip = new MovieClip(); square.graphics.beginFill(0x00FF00); square.graphics.drawRect(0,0,10,(20 + (40 - 20) * Math.random())); square.graphics.endFill(); addChild(square); Não sei se da para fazer essa duplicação pelo metodo que voce mostrou (se der, voce poderia me explicar como?) Se não for esse o metodo correto, poderia de ajudar mais uma vez? Obrigado!! Primeiramente bem vindo ao forum Segundo é AS 3 que você quer? Se for a melhor forma realmente é dar um addChild variais vezes... pode ser de um clip externo que você carrega com diferentes nomes... ou um clip na library Exemplo var arr:Array = new Array('banner1.jpg','banner2.jpg','banner3.jpg'); var loader:Loader; var xInit:Number = 10; var inic = 0; function init(){ loader = new Loader(); loader.load(new URLRequest(arr[inic])); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); } function onComplete(e:Event):void{ var mc:MovieClip = new MovieClip(); addChild(mc); e.target.content.x = xInit; xInit += 40; mc.addChild(loader); if(inic < arr.length - 1){ inic++; init(); } } init(); Isso deve funcionar abraços Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 12, 2009 Crie um for no qual você vai colocar o numero de vezes que quer... E faça a conta para que ele crie em diferentes posições. for(var i:uint = 0; i < 4; i++){ var square:MovieClip = new MovieClip(); square.graphics.beginFill(0x00FF00); square.graphics.drawRect(0,0,10,(20 + (40 - 20) * Math.random())); square.graphics.endFill(); addChild(square); } Simples assim... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
rafahesse 0 Denunciar post Postado Novembro 12, 2009 Funcionou perfeitamente!! Muito obrigado mesmo!! Compartilhar este post Link para o post Compartilhar em outros sites