Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CarlosGC

Problemas ao importar classes personalizadas

Recommended Posts

Eu tenho duas classes

 

No arquivo ClassA.as:

CODE
import ClassB;

 

class ClassA

{

var _atrib:ClassB;

 

function ClassA()

{

this._atrib = new ClassB();

}

}

 

No arquivo ClassB.as:

CODE
class ClassB

{

var _atrib:Number;

 

function ClassB()

{

this._atrib = 0;

}

}

 

E no script do primeiro frame:

CODE
import ClassB;

import ClassA;

 

var objA:ClassA = new ClassA();

var objB = new ClassB();

 

Acompanhando pelo debug eu vejo que na instanciação do objA, seu atributo do tipo ClassB não é instanciado. É como se a ClassA não enxergasse a ClassB

 

Depois da instanciação do objA, a instanciação do objB acontece normalmente, o debug entra até no construtor da ClassB, o que não acontecia dentro do contrutor da ClassA.

 

O que isso pode ser e como eu poderia resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho duas classes

 

No arquivo ClassA.as:

CODE
import ClassB;

 

class ClassA

{

var _atrib:ClassB;

 

function ClassA()

{

this._atrib = new ClassB();

}

}

No arquivo ClassB.as:

CODE
class ClassB

{

var _atrib:Number;

 

function ClassB()

{

this._atrib = 0;

}

}

E no script do primeiro frame:

CODE
import ClassB;

import ClassA;

 

var objA:ClassA = new ClassA();

var objB = new ClassB();

Acompanhando pelo debug eu vejo que na instanciação do objA, seu atributo do tipo ClassB não é instanciado. É como se a ClassA não enxergasse a ClassB

 

Depois da instanciação do objA, a instanciação do objB acontece normalmente, o debug entra até no construtor da ClassB, o que não acontecia dentro do contrutor da ClassA.

 

O que isso pode ser e como eu poderia resolver?

 

Ola Amigo tenta assim:

ClassA

package{
import ClassB;
public class ClassA{	

	 
public function ClassA()	{	   
var _atrib:ClassB = new ClassB();  //Lembrando que aqui esta sendo criado um objeto da classB 
}
}
}

ClassB

package{
public class ClassB{   

var _atrib1:int;	  //Pode mudar a variavel se quiser pra depois nao confundir

public function ClassB()	{	   
_atrib1 = 0;
trace("_atrib1 recebe 0");
}
}
}

Frame1

 

import ClassA;
import ClassB;

var objA:ClassA = new ClassA();
var objB:ClassB = new ClassB();
/*Aqui esta sendo criado um objeto da ClassB tb
portanto vai disparar a mensagem tb*/

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.