DanielD2 0 Denunciar post Postado Outubro 15, 2009 Boa dia a todos!! Bom é o seguinte tenho que fazer um menu dinamico em AS3 até ai tudo certo, mas estou tendo um problema pois sou iniciante em AS3. O código hoje é assim em AS2: var menuArray:Array = new Array("empresa","produtos","contato"); var posY:number = 0; for(var i:Number = 0; i < 5; i++) { var btMenu:MovieClip = this.attachMovie("btLib", "btStage"+i, i); btMenu._x = 10; btMenu._y = posY; btMenu.valor = i; //---> aqui eu atribuo um valor único para cada botão ou seja, só vai existir um botão com valor 1, o proximo com valor 2... posY += 25; btMenu.onPress = function() { //---> reparem que eu busco o valor desse botão com um simples "this.valor", e adciono para chamar um determinado posição da Array do menu; loadMovieNum(_root.menuArray[this.valor]+".swf", 5); } } Agora a mesma estrutura em AS3 var menuArray:Array = new Array("empresa","produtos","contato"); var posY:int= 0; for(var i:Number = 0; i < 5; i++) { var btMenu:BtLib = new BtLib(); addChild(btMenu); btMenu.x = 10; btMenu.y = posY; btMenu.valor = i; //---> aqui eu atribuo um valor único para cada botão ou seja, só vai existir um botão com valor 1, o proximo com valor 2... posY += 25; btMenu.addEventListener(MouseEvent.CLICK, cliqueDoBotao); } function cliqueDoBotao (evento:MouseEvent):void { //---> agora em AS3 eu não consigo captar esse valor da variavel usando "this.valor" trace(menuArray[this.valor]); } Alguem que sabe porque e pode me dar um Help por favor, é certo fazer assim tem um jeito mais correto?? obrigado assim mesmo valew pessoAll Daniel D2 Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 16, 2009 um equivalente para o "this" no seu caso é o "evento.currentTarget" dá uma lida nesse tópico que eu explico isso []´s Compartilhar este post Link para o post Compartilhar em outros sites