lmcosta 0 Denunciar post Postado Fevereiro 7, 2009 Salve Pessoal. Meu nome é Lucas, e sou programador AS2 á 5 anos, decidi a pouco tempo mudar para a versão AS3 do Actionscript e ainda estou encontrando alguns problemas para me adptar, o principal deles está ligado a questão de eventos e métodos do AS3 e gostaria de saber se alguém pode me ajudar. Nos exemplos abaixo tenho dos códigos que fazem a mesma coisa um em AS2 e outro em AS3, a diferença é que no exemplo com AS2 eu consigo chamar o método "funcTeste" direto do onRelease do botão "btTeste" passando o argumento diretamente para o método desejado, já na versão para AS3 eu tenho que criar um novo método e a partir dele chamar o método principal "funcTeste" veja no código abaixo AS2 var btTeste:MovieClip; function funcTeste (_arr:Array, _obj:Object):Void { trace("Meu Array é: " + _arr + "Meu nome é: " + _obj.nome + " Minha Idade é: " + _obj.idade) } btTeste.onRelease = function () { funcTeste(["imastes","portal","forum"], {nome:"Lucas",idade:26}) } AS3 var btTeste:MovieClip btTeste.buttonMode = true addChild(btTeste) function funcTeste (_arr:Array, _obj:Object):void { trace("Meu Array é: " + _arr + "Meu nome é: " + _obj.nome + " Minha Idade é: " + _obj.idade) } function clicado (e:MouseEvent):void { funcTeste(["imastes","portal","forum"], {nome:"Lucas",idade:26}) } btTeste.addEventListener(MouseEvent.CLICK,clicado) A pergunta que eu gostaria de fazer é a seguinte: Como posso passar argumentos direto no addEventListener no AS3 ? Agradeço quem puder me ajudar. Abraços Lucas Compartilhar este post Link para o post Compartilhar em outros sites
jck 3 Denunciar post Postado Fevereiro 7, 2009 Não se se entendi bem mas acho que deve ser isso: function funcTeste (_arr:Array, _obj:Object):void { trace("Meu Array é: " + _arr + "Meu nome é: " + _obj.nome + " Minha Idade é: " + _obj.idade) } btTeste.addEventListener(MouseEvent.CLICK, function (){ funcTeste(["imastes","portal","forum"], {nome:"Lucas",idade:26}) } ) Compartilhar este post Link para o post Compartilhar em outros sites
lmcosta 0 Denunciar post Postado Fevereiro 7, 2009 Salve jck realmente deu certo, mas essa é a forma correta de se fazer isso ? não tem um jeito de passar apenas argumentos para o método ? tipo: btTeste.addEventListener(MouseEvent.CLICK,clicado, argumentos) Vlw.! Compartilhar este post Link para o post Compartilhar em outros sites
jck 3 Denunciar post Postado Fevereiro 8, 2009 Imcosta não é possivel pois a sintaxe do eventListener é essa: objeto.addEventListener(tipo, função); vlw Compartilhar este post Link para o post Compartilhar em outros sites
lmcosta 0 Denunciar post Postado Fevereiro 8, 2009 Salve Jck vlw a dica man. Na verdade já tinha confirmado isso na documentação oficial do AS3, mas acho um pouco estranho isso, não ficou usual mas funcionando é o que importa! Abraços e Vlw a dica Compartilhar este post Link para o post Compartilhar em outros sites
lmcosta 0 Denunciar post Postado Fevereiro 12, 2009 Salve Pessoal, achei mais um artigo do Bruno Ribeiro sobre o assunto. http://www.brunoribeiro.net/?p=95 Abraços Compartilhar este post Link para o post Compartilhar em outros sites