Comunidad de diseño web y desarrollo en internet online

Visivilidad variable en evento.

Citar            
MensajeEscrito el 28 Ago 2005 11:43 am
Hola,

Tengo el siguiente codigo:

Código :

import mx.controls.Button;
import mx.controls.Menu;

class Clases.Clase {
public static var Centro = 1;
private var boton:Button;
private var menu:Menu;
private var detector:Object;
private va posicion:Number;

public function Clase(root:MovieClip) {
boton = root.createClassObject(Button, "boton", root.getNextHighestDepth());
menu = root.createClassObject(Menu, "menu", root.getNextHighestDepth());
detector = new Object();
 
detector.click = function(evento) {
var menu:Menu =  evento.target._parent.menu;
     
switch(posicion) {
case Centro:
menu.show(100, 100);
break;
}
}
boton.addEventListener("click", detector);
}
}


El problema es que si hago un trace de posicion dentro de "detector.click = function(evento)" la variable me sale como indefinida pero si lo hago fuera me aparece el valor perfectamente (aunque no aparezca en la seccion de codigo posicion se inicializa antes de llamar a "detector.click = function(evento)").

Alguna sugerencia...

Muchas gracias.

Por opotonil

12 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Ago 2005 03:19 pm

Por opotonil

12 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Ago 2005 04:05 pm
bueno, la cuestion es aun mas sencilla, posicion es una variable de TU CLASE en

detector.click = function(evento) {

al escribir "posicion" estas haciendo referencia a la variable detector.posicion... como se soluciona?

bueno pues a la hora de crear el detector, haces algo asi

var detector:Object = new Object();
detector.scope = this;
detector.click = function(evento) {
trace(scope.posicion);
};

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.