Foros del Web » Creando para Internet » Flash y Actionscript »

ambito, clase-timeline

Estas en el tema de ambito, clase-timeline en el foro de Flash y Actionscript en Foros del Web. hola, alguien puede indicar ¿cómo acceder desde una clase a un objeto tipo TextField que tengo en la línea de tiempo? Gracias Editado: me refiero ...
  #1 (permalink)  
Antiguo 20/02/2008, 10:17
 
Fecha de Ingreso: febrero-2007
Mensajes: 111
Antigüedad: 10 años, 9 meses
Puntos: 0
ambito, clase-timeline

hola, alguien puede indicar ¿cómo acceder desde una clase a un objeto tipo TextField que tengo en la línea de tiempo? Gracias

Editado: me refiero en AS3

Última edición por negro81; 20/02/2008 a las 10:53
  #2 (permalink)  
Antiguo 20/02/2008, 11:25
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 15 años, 11 meses
Puntos: 193
Re: ambito, clase-timeline

la clase extiende al MovieClip?
Como instancias la clase.

por ejemplo si la clase extiende a un movieclip o a un Sprite puedes acceder directamente a los objectos de dicho movieClip/Sprite.

Si no es asi deberas pasar como referencia el moviclip/sprite donde se encuentra el textfield y acceder desde ahi
  #3 (permalink)  
Antiguo 21/02/2008, 02:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 111
Antigüedad: 10 años, 9 meses
Puntos: 0
Re: ambito, clase-timeline

hola, gracias por contestar:

La clase se llama Login y extiende a MovieClip si. Representa un mc de mi biblioteca para introducir un usuario y password. Funciona bien, el problema está cuando te logueas y despues de las comprobaciones pertinentes, desaparece este mc e introducimos texto en el susodicho TextField que NO está dentro del mc, un texto del tipo "Bienvenido ......"

A continuación puedes ver este código que está en la linea de tiempo donde construyo el objeto login y el textfield:


Código:
var swfStage:Stage = stage;

var milogin:Login = new Login();
milogin.posicionar(swfStage, 750, 150);


var cajaTexto:TextField= new TextField();
swfStage.addChild(cajaTexto);







Esto es el constructor de Login y la funcion que lo posiciona en el escenario, como se puede observar se pasa la ruta como parámetro:

/
Código:
***************************************************************************************************************************************************************/
	
	/*NOMBRE: Login.
	  UTILIDAD: crea un objeto de la clase Login. Lanza el escuchador de eventos.
	  PARÁMETROS DE ENTRADA: ninguno
	  PARÁMETROS DE SALIDA: ninguno.
	*/
	  
/***************************************************************************************************************************************************************/
	public function Login(){
		trace("*******NUEVO LOGIN******************");
		this.botonentrar.addEventListener(MouseEvent.CLICK, pulsado);
		this.cliente.cargador.addEventListener(Event.COMPLETE, eventoExiste);
	}

		
		
/***************************************************************************************************************************************************************/					
		
	/*NOMBRE: posicionar. 
	UTILIDAD: posiciona en la ruta y coordenadas especificadas el MC login .
	PARÁMETROS DE ENTRADA: 
		-ruta: contenedor donde se posiciona el MC login.
		-x,y: coordenadas donde se posiciona.
	PARÁMETROS DE SALIDA: ninguno.
	*/
/***************************************************************************************************************************************************************/							
       public  function posicionar(ruta:Stage, x:Number, y:Number):void{
			
		this.x = x;
		this.y = y;
		this.ruta = ruta;
		ruta.addChild(this);
	}

A continuación un trozo de código de la clase donde intento acceder al textfield:

Código:
.....

ruta.cajaTexto.text = "Bienvenido " + this.usuario.text;
.....


Pues nada, esto da el tipico error
"No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:22.