
Pooh
Membros-
Total de itens
186 -
Registro em
-
Última visita
Tudo que Pooh postou
-
Bom meu conhecimento de expressões regulares é meio fraco porem para e-mail eu faria algo como: [A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4} [A-Z0-9._%+-] -> Qualquer letra, qualquer número, ponto, underline, porcentagem e hífen. @[A-Z0-9.-] -> depois do arroba, qualquer letra, qualquer numero + ponto e hífen \.[A-Z]{2,4} -> da um scape no ponto e após ele qualquer letra com no minimo 2 e no máximo 4 caracteres. espero ter ajudado :)
-
Gostaria de saber a utilização, e ver exatamente o que você quer para poder lhe passar aonde achar ou o que estudar.
-
é meu amigo, já vi este fórum muito mais movimentado !! e o pior é que não adianta oferecer muita coisa pronta senão eles pegam e vão embora. Não aprendem nada...não sei muito o que fazer =/ talvez um projeto, passo a passo ? Talvez um game por exemplo como você estiver fazendo, ou um projeto bem cool com banco de dados ? vou pensar em alguma coisa, o que você tiver em mente manda ver também ! Abraços
-
Parar a animação em determinado frame
pergunta respondeu ao vini_loock de Pooh em Flash & ActionScript
basta colocar no frame, _root.|caminho entremovieclips....|.gotoAndPlay(X); para melhor utilização basta saber aonde você quer chegar se for dentro do mesmo movieclip gotoAndPlay(frame); se for no stage -> _root.gotoAndPlay(frame); se for dentro de um movieclip mas quer que ele ande no movieclip pai _parent.gotoAndPlay(frame); e assim por diante... esse comando pode ser colocado na TIMELINE ele não precisa de um evento para ser executado como por exemplo ON PRESS | ON RELEASE Abraços -
disponibilize o codigo fonte para um debug abraços!
-
Vamos lá ver se eu entendi sua duvida ! <MeuSite> <TopicoNoticias> <Registro id="1"> <Titulo label="teste3">Recebendo dados no Flash</Titulo> <Teste>Adicionei este campo para testes.</Teste> </Registro> <Registro id="2"> <Titulo>Extensão PHP Debugger para o Dreamweaver</Titulo> </Registro> <Registro id="3"> <Titulo>Usando MXML</Titulo> <Descricao>Nesse artigo você vai aprender como usar o MXML...</Descricao> <Teste>Adicionei este campo para testes.</Teste> </Registro> </TopicoNoticias> <TopicoSegundoMenu> <Registro id="1"> <Titulo>Como localizar apenas o que se quer na consulta</Titulo> <Teste>Adicionei este campo para testes.</Teste> </Registro> <Registro id="2"> <Teste>Adicionei este campo para testes.</Teste> </Registro> <Registro id="3"> <Titulo>servidor DNS em rede Wi-Fi</Titulo> <SubTitulo>Servidor DNS não inicia... será culpa do Wi-Fi??</SubTitulo> </Registro> </TopicoSegundoMenu> </MeuSite> você quer por exemplo fazer uma listagem de todos os "Registros" e depois que você clikar em cada registro fazer alguma ação mais definida com os parâmetros dakele nó. se for apenas isso, depois de carregado um XML no AS3 é simples. Como seu Root é <MeuSite> você não precisa acessar ele. Mas precisamos alterar algumas coisas por exemplo se você quer TOPICOS você tem de usar TOPICOS como NÓ do XML e como nome especifico você diz por parâmetro. Exemplo: <MeuSite> <tópico name="Noticias"> <registros.... </tópico> <tópico name="Segundo Menu"> <registros.... </tópico> </MeuSite> você precisa criar um padrão senão vai ter pepino depois. assim podemos acessar como meuXML.tópico.length(); Ele nos devolve o numero de tópicos. Se você quer listar agora os topicos e noméa-los você usa um FOR sendo de i=0 até o meuXML.tópico.length() assim você pode escolher o que fazer com cada um e para diferenciá-los nós colocamos um parametro name e vou usá-lo chamando por -> meuXML.tópico.@name; isso nos devolve o parametro "name" do tópico de numero "i"; simples não ? Depois que você entrar no tópico mesmo esquema meuXML.tópico[x].registro.length() -> numero de registros para o FOR meuXML.tópico[x].registro. seja la o que você quer do registro, com o que te passei já da para imaginar como fazer :) Espero ter ajudado em algo e entendido a sua dúvida, senão posta explicando melhor o que você realmente quer. Abraços! EDIT: êrrus de portuguêis
-
Olá! :) O fato do site mudar conforme o dia é graças a uma informação chamda "Horário" o flash pode lhe retornar a hora do dia e baseado nisso você bola algo pra acontecer, condições do tempo vamos chamar. já sobre o deslizamento , também não é dificil. Um movieClip maior que o stage com relação a largura e ele anda para onde você setar. Por exemplo opção 1 -> X=100 opção 2-> x= 500 E usa uma biblioteca de movimento como por exemplo TweenLite/TweenMax para fazer o easing. qualquer duvida faço 1 exemplo mas se possivel gostaria de não fornecer o fonte, assim vais aprender melhor. Abraços!
-
Olá flasheiros! Estarei de agora em diante tentando inserir mais AS3 e OOP para vocês e espero que todos tenham a coragem necessária para migrar e deixar de lado a programação trabalhosa do AS1/AS2. Sobre o tutorial de hoje: Durante muito tempo, flasheiros e flasheiras ficam frustados com "pepinos" encontrados em criar um preloader. Seja ele a demora que existe antes de começar o preloader. Seja ele o preloader começar apenas com X% sendo esse X algo bem longe de 1~10% tirando a realidade do carregamento. Entre muitos outros problemas diariamente encontrados com preloader internos. Buscando soluções na internet me deparei com alguns estudos e técnicas que desenvolvedores de jogos para flash utilizam. Explicando ela é algo como: Adicionar uma classe para Carregar, remover a opção "carregar no 1º frame" de tudo o que existir na biblioteca e adicionar esses itens ao frame 2, assim começando seu aplicativo no frame 3 somente. Porque isso ? No frame um nosso flash dedica o seu código, se colocarmos algo junto com ele no 1º frame, ele só começará a fazer algo quando esse item tiver sido carregado ou seja nosso preloader vai começar ou já com 100% ou la pelos X% Colocar tudo no frame 2 faz com ele APÓS carregar o código carregue os elementos do site ali antes de iniciar. Resumindo em 3 frames: Frame 1 -> Carrega nosso código com o Preloader Frame 2 -> Carrega tuso o que sera usado no Aplicativo Frame 3 -> já pode começar seu aplicativo Agora que já entendemos vamos ao exemplo ? Crie um arquivo Flash AS3 import StagePreloader var carregar:StagePreloader = new StagePreloader(stage); Diferente do que eu vi por ai, eu quis passar o stage para o Carregador, pois dentro do carregador se você acessar stage a REFERÊNCIA é outra, e ao invés de ficar naquela ladainha de "this.parent. bla bla bla" eu passei como parâmetro. Importamos a classe que vai monitorar o carregamento, e a iniciamos passando stage como parâmetro. Agora dentro da Classe package{ import flash.events.IEventDispatcher import flash.events.Event import flash.display.Sprite public class StagePreloader extends Sprite implements IEventDispatcher { private var e:Event; private var bl:Number; private var bt:Number; private var pct:Number; private var meuStage; public function StagePreloader(Objeto) { meuStage = Objeto; this.addEventListener(Event.ENTER_FRAME,CheckaStage); } private function CheckaStage(e) { bt = meuStage.loaderInfo.bytesTotal; bl = meuStage.loaderInfo.bytesLoaded; pct = Math.round(((bl/bt)*100)); trace(pct); if(pct >= 100) { this.removeEventListener(Event.ENTER_FRAME,CheckaStage); /*Aqui dizemos o que fazer após concluir :)*/ } } } } Analisando a fundo... Antes de explicar o porque, percebam que NÃO utilizamos os eventos INIT,PROGRESS e COMPLETE. Porque ? Constatou-se que em algumas versões do IE, mais especificamente na versão 6 esses Listeners não rodavam, porém como estamos numa versão mais avançada do flash isso com certeza já foi corrigido. Porém como programador meu trabalho é evitar erros por isso peguei o caminho mais seguro, usando um evento básico que é o ENTERFRAME. Assim sendo incluimos a biblioteca de EVENTOS, de SPRITE para obtermos as funções básicas como hierarquia e o IEVENTDISPATCHER é uma opção minha pois gosto de enviar confirmações como por exemplo, assim que acabar o preloader poder enviar para algum listener "Acabei de carregar!" e executar uma ação em seguida :) Nossas variáveis: e -> vai carregar a definição de Event bl -> BytesLoaded vai carregar os bytes carregados até o presente momento bt -> bytesTotal vai carregar os bytes totais do nosso Aplicativo pct -> Porcentagem vai carregar os dados calculados da porcentagem de progresso meuStage -> Referência de Stage vai carregar a definição de Stage passada pela Timeline Principal Aqui atribuimos à nossa classe um listener de ENTERFRAME para que a cada ciclo de processamento ele verifique o carregamento do nosso Aplicativo e possa nos mostrar o seu andamento. Enfim o coração do preloader Atribuimos às variáveis seus reespectivos valores, calculados de forma simples a porcentagem, damos uma trace nela apenas para ver se realmente está carregando algo e no fim uma verificação. Verificamos se o carregamento chegou ao fim, assim podemos encerrar o listener do ENTERFRAME e no meu caso despachar um evento dizendo que terminou o carregamento. Bom é isso meus flasheiros Vou disponibilizar um exemplo e lembrem de ir à suas bibliotecas e configurar o seguinte: vai em cada objeto encontrado la -> Propriedades... -> Avançado(se já não estiver) ->Exporte ele para ActionScript porém NÃO exporte ele no 1º frame, deixe o checkbox em branco. Agora coloque o objeto no segundo frame e começe seu trabalho no 3º frame (Obviamente para ver o resultado utilize o SIMULAR DOWNLOAD com uma velocidade razoável) Arquivos zipados RAR: Arquivos zipados (2) Abraços! EDIT: Acabei de perceber que o Thiago Bueno tem um tutorial abordando a mesma coisa, porém subimos um pouco o nivel simplificando colocando o carregador em uma classe e lembrando do passo de colocar nossos objetos de biblioteca no 2º frame, retirando a opção do "iniciar no 1º frame". Thiago espero que atualize seu tutorial com essas dicas também. Abração!
-
Como deixar um trecho da música mudo?
pergunta respondeu ao edumanilha de Pooh em Flash & ActionScript
Olá novamente! Não sei qual a política do fórum com relação a programas "perna de pau" Pra preservar isso me adiciona no MSN que te falo sites com esses programas. Meu MSN ta la no meu perfil. Agora tratando pelo flash, Via TIMELINE vo falar TEM COMO mas é tosco. Se você quiser de tal até tal frame exato que o som pare é fazer uma camada e inserir no frame que você quer que pare o som um comando pra zerar o volume, e no frame que você quer que volte, um comando pro volume voltar. Procure por ajuste de VOLUME AS2, se mexer com as3 posso te ajudar. Abraços! -
Halp !! TUTORIAIS SOMENTE AMIGO ! Move pls :) MÃE OLHA EU AKI!
-
SharedObject
pergunta respondeu ao Raphael Machado de Pooh em Tutoriais & Dicas - Flash & ActionScript
Muito bom o tuto Rapha, porém é bom deixar um exemplo de aplicação senão galera vai ficar boiando. Apesar de cookies terem muitas utilidades é bom apontar o Porque usar cookies ? etc... bom tuto ! Abraços -
Obs: Fórum está Morto!!! so gente vindo de fora pra perguntar uma coisa e cair fora, ngn contribuindo... é... =/
-
Como deixar um trecho da música mudo?
pergunta respondeu ao edumanilha de Pooh em Flash & ActionScript
Olá! ao invés de gambiarras com frames, aconselho você a ir em algun editor sonoro e editar as partes que você quer do som. não é bom deixar o flash fazer esse tratamento. -
Olá fabizen! Posso lhe auxiliar na criação desse algoritmo em AS3 porém pelo bem do aprendizado não posso lhe dar o código pronto lhe falarei o que estudar e sanarei duvidas Alias esse site em especifico cada vez que seleciono uma parte do menu parece que estou levando 1 tapa na cara de tão rápido que está a animação e sem "back" ele executa o mouse Over direto sem ter retorno na animação.... Abraços!
-
Muito bom o portifolio ^^ mas a ideia era usar Desing ao invés de Design mesmo ? Continue assim garoto! Qualquer duvida venha ao forum não esqueça de nós !! :unsure:
-
Ajuda com jogo de Nave Espacial!
pergunta respondeu ao Lucas (Rukasu) de Pooh em Flash & ActionScript
Olá amigo, não sei do seu conhecimento em Flash mas se o que deseja é um game shooter eu mesmo posso te fazer uns tutos em AS3, algo já mais avançado com classes etc... Eu pelo menos não gosto de pegar tutoriais sem suporte sei como é ficar perdido Abraços! -
Olá amigo! Esse menu o movimento não é problema pois existe uma biblioteca de movimentos que faz isso sem problemas. Tente primeiramente fazer o posicionamento do menu. A organização, os eventos do que acontece com cada um que voce clika. Se você fizer a programação direito o movimento é facilmente implementado, esse menu é conhecido por menu "sanfona". Boa sorte, aguardo noticias!
-
swf num le alteração do xml no IE
pergunta respondeu ao Eduardo Free de Pooh em Flash & ActionScript
Olá amigo! Bom mexo com AS3, posso pesquisar um pouco mas eu faria um Timer que a cada X segundos/minutos requisitasse e renovasse todos os dados XML e renovasse a interface se necessario. se no as2 não existir timer, procure sobre INTERVAL deve ter algo ^^ -
ERRO: 1151: A conflict exists with definition roomList in namespace in
pergunta respondeu ao Andre H.S. Mendes de Pooh em Flash & ActionScript
Traduzindo, ele tenta dizer que você esta criando uma vriavel duplicada ou de nome já reservado. tentou mudar o nome da variavel ? -
AS3+XML - leitura de xml aleatorio indefinidamente (laco while)
pergunta respondeu ao fredrabelo de Pooh em Flash & ActionScript
Olá amigo! Bom não sei bem a sua utilidade com relação a isso porém temos o seguinte... no AS3 já existe suporte à xml incluse uma variavel chamada XML exemplo: var meuXML:XML = new XML(XMLSource); e para carregar um xml externo também temos um processo com Loader etc... Então não é vamos dizer muito útil o que queres fazer. Mas....se a pergunta é sobre nós é simples e espero que essa seja a ultima vez que faça isso JAMAIS repito JAMAIS utilize WHILE no AS. o Flash está muito sujeito a loops infinito devido a sua dinamicidade. Se quer fazer um loop faça um loop com funções; function bla(){ Faça algo.... if(condição){ bla();/*Aqui você faz o loop da função*/ } } no seu caso em palavras seria function retornaChilds(){ verifica se existe alguma child no XML atual se existir, atribui ela a alguma variavel ou a alguma matriz; subistitui seu XML pela posição atual exemplo: XML = XML.firstChild; repita a função retornaChild(); } faça uma condicional para ele so repetir se achar alguma child. simples Qualquer duvida é so falar... Abraços! -
Olá! Você diz que a imagem sai fora da área de Visualização ? deixando aparecer o fundo do stage ?? Se for isso, está na hora de colocarmos algum comportamento na nossa imagem!! Quando tenho que fazer restrições ou comportamentos específicos de um objeto no meu projeto eu faço uma classe pra ele. Vamos lá! Fiz um projeto aki ImgPanoramica e bom por enquanto ele deu certo. 1º No meu caso utilizei uma imagem qualquer com o tamanho de preferencia maior que meu stage. 2º Essa imagem vai estar dentro do nosso Objeto, vamos chamar esse objeto de Scroller( Não me pergunte porque uso nomes em inglês, é mais pela facilidade ou é porque é melhor que chamar de "rolador" ou algo do tipo :huh: ) Com tudo em mãos vamos ao meu projeto package { import ImgLoader import Scroller import flash.display.* import flash.events.* public class Mapa extends Sprite { public var mapa:ImgLoader = new ImgLoader(); public var holder:Scroller = new Scroller(); public function Mapa() { CarregarMapa(); } public function CarregarMapa() { mapa.load('img/mapa.jpg'); mapa.addEventListener("ACABEI",displayMapa); } public function displayMapa(e:Event) { holder.addChild(mapa.display()); addChild(holder); holder.Start(); } } } Essa foi minha Classe principal que eu entitulei de mapa (já que a unica coisa que me lembra uma navegação na iamgem é um mapa....) Extendi ela de Sprites ao ives de MovieClips já que so preciso da sua funcionalidade de Hierarquia (childs etc...) Nela teremos 2 classes importadas: ImgLoader que é uma classe q eu fiz como as milhares classes que carregam imagens Scroller que é nossa classe que vai receber a imagem e terá o comportamento de movimento chamamos flash.display.* pois como o foco desse tutorial não é a velocidade inclui tudo mas so vou usar alguns elementos de display e events chamamos flash.events.* fiz uma chamada geral pelo mesmo motivo do display declaramos uma variavel qualquer para carregar a imagem no meu caso "mapa" declaramos uma variavel qualquer para receber a imagem no meu caso "holder" Holder irá herdar os comportamentos da classe Scroller Após o mapa carregado holder.addChild(mapa.display()); addChild(holder); holder.Start(); Adicionamos o mapa ao holder, adicionamos holder ao palco E para não haver conflitos com o fato de eu estar manipulando dados como "stageWidth" nossa Classe so passa a funcionar o Scroll após o método Start(); ser chamado. A classe Scroller: package { import flash.display.* import flash.events.* public class Scroller extends Sprite { private var velX:Number = 0; private var velY:Number = 0; private var Frenagem:Number = .9; private var Acel:Number = 15; private var range:Number = 25; private var SL; public function Scroller() { } public function Start() { this.parent.addEventListener(Event.ENTER_FRAME,Scroll); this.addEventListener(Event.ENTER_FRAME,function(){calculaVelocidade()}); } private function Scroll(e:Event){ SL = this.parent.parent; var posX:Number = (SL.mouseX-(SL.stageWidth/2)); var posY:Number = (SL.mouseY-(SL.stageHeight/2)); if(posX < range && posX > -range){}else{ velX = (posX/25)*-1; } if(posY < range && posY > -range){}else{ velY = (posY/25)*-1; } } public function calculaVelocidade() { this.x += velX; this.y += velY; velY *= Frenagem; velX *= Frenagem; if(velX < 0.1 && velX > -0.1){velX = 0;} if(velY < 0.1 && velY > -0.1){velY = 0;} //monitramos o lado esquerdo if(this.x > 0){this.x = 0;} //monitramos o lado direito if(this.x < (this.width*-1)+SL.stageWidth){this.x = (this.width*-1)+SL.stageWidth;} //monitramos o lado superior if(this.y > 0){this.y = 0;} //monitoramos o lado inferior if(this.y < (this.height*-1)+SL.stageHeight){this.y = (this.height*-1)+SL.stageHeight;} } } } O que a nossa classe faz ? Fiz ela agora pra você mas ela faz exatamente o que promete. Tirando a ladainha das variáveis etc... fiz um sistema básico de aceleração, velocidade e frenagem para dar aquele ar de "movimento suave" a variavel range vai controlar um ponto o centro do mapa em que ele não sera orientado pelo mouse, assim teremos um ponto de descanso em que o mapa não vai ficar movendo davagarinho sem nunca parar. o coração dessa classe é o "calculaVelocidade" pois é nele que fiz o tratamento que lhe interessa. //monitramos o lado esquerdo if(this.x > 0){this.x = 0;} //monitramos o lado direito if(this.x < (this.width*-1)+SL.stageWidth){this.x = (this.width*-1)+SL.stageWidth;} //monitramos o lado superior if(this.y > 0){this.y = 0;} //monitoramos o lado inferior if(this.y < (this.height*-1)+SL.stageHeight){this.y = (this.height*-1)+SL.stageHeight;} Com um pouco de matemática e claro existem outros meios e outras relações matemáticas que você possa fazer para chegar no mesmo resultado, mas so me veio isso na cabeça agora... como todo objeto alinhado em 0 nos eixos X e Y, ele é alinhamento Top-Left o que facilita nosso trabalho em 2 lados do objeto: Esquerda que é so relacionar com a posição 0 top também é so relacionar com a posição 0 já Direita e Baixo pegue uma folha e desenho um quadrado menor dentro de um quadrado maior. Encoste o quadrado menor no canto superior direito do maior e faça as contas. Levei em consideração o seguinte: Largura do quadrado Maior 100 e do quadrado menor 10; Como todo sistema de navegação, a imagem maior se movimenta e a menor fica parada. Para o quadrado menor ficar no canto direito superior as poisções se encontram da seguinte maneira: QuadradoMaior.x = -90 QuadradoMenor.x = 0 Observando os valores podemos concluir que pra chegar nesse resultado é simples: A largura do noss QuadradoMaior que é 100 multiplicada por -1 para inverter, temos -100 agora somamos com a largura do quadrado menor que a nossa área de visualização temos -90 ! vualá ! o mesmo apliquei o eixo y sem problemas Afinal nossos 4 lados estão "LIMITADOS" sempre que eles aparentemente encostarem na nossa área de visualização eles param de se mexer. Com certeza a explicação da fórmula ficou confusa, mas ela é bem simples se ficar na dúvida posso fazer 1 desenho para complementar. E por fim se precisa vou disponibilizar a classe ImgLoader: package { import flash.events.EventDispatcher; import flash.events.* import flash.display.* import flash.net.URLRequest public class ImgLoader extends EventDispatcher { public var carregarImg:Loader; public var enderecoImg:URLRequest; public var IMAGEM:Bitmap; public function ImgLoader() {} public function display(){return IMAGEM;} public function load(path:String) { carregarImg = new Loader(); enderecoImg = new URLRequest(path); carregarImg.load(enderecoImg); carregarImg.contentLoaderInfo.addEventListener(Event.COMPLETE,returnLoader); carregarImg.contentLoaderInfo.addEventListener(Event.INIT,startLoader); carregarImg.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressLoader); } private function startLoader(e:Event) { /*O que fazer qd começar*/ } private function progressLoader(pe:ProgressEvent) { /*O que fazer carregando*/ } private function returnLoader(e:Event) { IMAGEM = e.target.content; dispatchEvent(new Event("ACABEI")); } } } Está copm certeza meio confuso porém foi a pressa com que digitei Se for de ajuda para mais alguén poderei fazer algo mais detalhado Abraços e espero ter ajudado
-
Fala meus Flasheiros! Lógico que qs ninguém me conhece mt menos lembra de mim mas eu estou de volta pra resolver pepinos que valham a pena em flash. Posso auxiliar em AS3 e OOP Muitas vezes disponibilizo um exemplo e codigo fonte em conjunto com 1 tutorial passo a passo Mas prefiro tentar fazer você entender o problema e buscar a causa dele. Agora mais preparado, turbinado e cheio de amor pra dar POOH está de volta ;) Abraços!
-
Olá amigo. Bom eu analisei brevemente o menu que você deseja, ele foi feito com matemática simples e manipulação de bitmaps. Imagine um menu horizontal aonde ele altera o parametro Height de acordo com a proximidade do mouse certo ? no caso deles é exatamente isso mas o que ele tem de diferente ?? o que muda a posição não é o parametro Height mas sim os 4 pontos de um bitmap retangular Aprenda um pouco sobre como manipular um bitmap antes de mexer com 1 menu desses Depois que você conseguir manipular e distorcer 1 bitmap via posição do mouse você estará pronto para fazer este menu. Aconselho a fazer algo mais simples e menos "fluido" pois será 1 bom tempo de desenvolvimento ^^ Abraços !
-
package com.senocular.display { import flash.display.DisplayObject; import flash.geom.Rectangle; import flash.system.Capabilities; // version check for scale9Grid bug /** * duplicateDisplayObject * creates a duplicate of the DisplayObject passed. * similar to duplicateMovieClip in AVM1. If using Flash 9, make sure * you export for ActionScript the symbol you are duplicating * @param target the display object to duplicate * @param autoAdd if true, adds the duplicate to the display list * in which target was located * @return a duplicate instance of target */ public function duplicateDisplayObject(target:DisplayObject, autoAdd:Boolean = false):DisplayObject { var targetClass:Class = Object(target).constructor; var duplicate:DisplayObject = new targetClass() as DisplayObject; // duplicate properties duplicate.transform = target.transform; duplicate.filters = target.filters; duplicate.cacheAsBitmap = target.cacheAsBitmap; duplicate.opaqueBackground = target.opaqueBackground; if (target.scale9Grid) { var rect:Rectangle = target.scale9Grid; if (Capabilities.version.split(" ")[1] == "9,0,16,0"){ // Flash 9 bug where returned scale9Grid as twips rect.x /= 20, rect.y /= 20, rect.width /= 20, rect.height /= 20; } duplicate.scale9Grid = rect; } // Flash 10 only // duplicate.graphics.copyFrom(target.graphics); // add to target parent's display list // if autoAdd was provided as true if (autoAdd && target.parent) { target.parent.addChild(duplicate); } return duplicate; } } Eu peguei apenas a função function duplicateDisplayObject(target:DisplayObject, autoAdd:Boolean = false):DisplayObject { var targetClass:Class = Object(target).constructor; var duplicate:DisplayObject = new targetClass() as DisplayObject; // duplicate properties duplicate.transform = target.transform; duplicate.filters = target.filters; duplicate.cacheAsBitmap = target.cacheAsBitmap; duplicate.opaqueBackground = target.opaqueBackground; if (target.scale9Grid) { var rect:Rectangle = target.scale9Grid; if (Capabilities.version.split(" ")[1] == "9,0,16,0"){ // Flash 9 bug where returned scale9Grid as twips rect.x /= 20, rect.y /= 20, rect.width /= 20, rect.height /= 20; } duplicate.scale9Grid = rect; } // Flash 10 only // duplicate.graphics.copyFrom(target.graphics); // add to target parent's display list // if autoAdd was provided as true if (autoAdd && target.parent) { target.parent.addChild(duplicate); } return duplicate; } e apliquei como: var qualquerCoisa:QualquerClasse = new QualquerClasse(args[]); var copia:DisplayObject = Duplicate(qualquerCoisa,true); //a partir daqui você pode usar o DO copia que vai ser exatamente como qualquerCoisa caso precise de algum atributo adicional copiado como Name etc... é so alterar a função que diz "duplicate.Atributo = target.Atributo" e você tera o que quiser copiado =_=... simples
-
simples, você não deve escolher a posição na matriz, resumindo o seu '[0]' especifica o local da onde você quer pegar; Para mim é como você querer todas as ruas de uma cidade digitando o nome de apenas uma ^_^ voltando ao código... seria assim: titulos.text = this.childNodes[0].childNodes.attributes.titulo; simples ? Caso não dê certo pode ser pelo fato de eu apenas ter dado uma rápida olhada porém se for diferente disso eu testo e lhe mando a resposta correta, mas porém² nãovai ser mt diferente disso ^_^ Abraços Pooh