Comunidad de diseño web y desarrollo en internet online

Problemas con clases y rutas, paketes import.

Citar            
MensajeEscrito el 07 Mar 2006 03:48 am
Hola estoy haciendo un componente en flash y para ello utilizo dos clases, una la utilizo en la pelicula como tal, y la otra a su vez es utilizada por esta..., clase a, clase b, a contiene objetos de tipo b y en mi pelicula necesito crear objetos de tipo a, pero esto solo lo he logrado si pongo los dos .as en el mismo directoprio de mi .swf, y me gustaria poder organizar esto un poco mas poniendo la primera clase (a) en un subdirectorio dentro del directorio donde tengo mi .swf, y a su vez la segunda clase (b) dentro de otro subdirectorio dentro del subdirectorio donde esta (a):

kontenedorDel.swf
..........| .swf
..........| kontenedorDeLaClase(a)
..............................| a.as
..............................| kontenedorDeLaClase(b)
..................................................| b.as
..................................................| c.as

Mas o menos algo como eso, porque es posible que la clase a necesite de otras subclases ademas de la b y me gustria organizarlas de esas forma.

Pero sucede que si pongo las clases en directorios tengo que cambiar los nombres de clases por sus rutas compketas (pesadito esto no), por ejemplo la clase (a) se llamaria para este caso...

Código :

class kontenedorDel.swf.kontenedorDeLaClase(a).a{}

...y la (b) seria...

Código :

class kontenedorDel.swf.kontenedorDeLaClase(a).kontenedorDeLaClase(b).b{}

...y para c = que para b, esto de verdad no lo veo muy bien :? (lo de si cambias la ruta cambias el nombre) no seria mas sencillo con solo cambiar solo la ruta en el "import" y que flash fuera capaz de reconocer la clase que estubiese alli sin que ella contenga tambien en su nombre la ruta :lol: , pero bueno asi son las cosas, ahora lo de los nombres con las rutas no fuera problema si no fuese entonces porque no encuentro la forma de decirle a (a) que utilize a (b) y a (c), siempre me da error, ya sea en el archivo .as de a, porque no encuentra a (b) o compila una clase distinta a la que se utiliza, o en el .swf, no se como hacerlo.

Saludos, espero que alguien me pueda ayudar y que entiendan un poco lo ke me esta sucediendo, thanks. 8)

Por pcreide

25 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 07 Mar 2006 05:16 am
Clase A en la carpeta Dano
En el ActionScript de la clase:

Código :

class Dano.A{
  function A(){
  }
}

Clase B en la carpeta Dano/ext

Código :

Clase Dano.ext.B{
  function B(){
  }
}

En el fla,

Código :

import Dano.A;
import Dano.ext.B;
mi = new A();


También en las clases para utilizar una u otra:

Código :

import Dano.ext.B;
class Dano.A{
  function A(){
    mi = new B();
  }
}



Es todo! :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 07 Mar 2006 06:00 am
Nada mano, no me sale, mira, hice lo siguiente.....

tengo esta estructura: FLA/Dano/ext
en FLA/ tengo un .fla, en FLA/Dano/ tengo la clase A, y en FLA/Dano/ext/ la clase B.

Ahora, lo ke necesito es utilizar la B en A, para definir un Array de Objetos de tipo B en A, y definir en el .fla un Objeto de tipo A.

Ahora, en el A.as pongo esto:

Código :

 import Dano.ext.B;
 class Dano.A{var k:B}
 


y en B.as:

Código :

 class Dano.ext.B{}
 


como me dices, pero me da el siguiente error:

Línea 2: No se ha podido cargar la clase 'Dano.ext.B'.
class Dano.A{var k:B}


De la unica forma que me deja utilizar B en A es asi:

Código :

 import ext.B;
 class Dano.A{var k:B}
 


y en B.as:

Código :

 class ext.B{}
 


pero de esta forma cuando pongo esto en el fla:

Código :

 import Dano.A;
 var c:A;


me da este error:

Línea 2: No se ha podido cargar la clase 'ext.B'.
class Dano.A{var k:B}


si hago esto:

Código :

import Dano.A;
import Dano.ext.B;
var c:A;


me da estos errores:

No se ha podido cargar la clase 'ext.B'.
class Dano.A{var k:B}

Línea 1: La clase que se está compilando, 'ext.B', no coincide con la clase que se importó, 'Dano.ext.B'.
class ext.B{}


si cambio en la clase b enl nombre y pongo esto:

Código :

class Dano.ext.B{}


me resuelve el problema en el .fla, pero como es logico cambio = el codigo en A por:

Código :

import Dano.ext.B;
class Dano.A{var k:B}


y entonces me dice que no puede encontrar la clase B, en A.

ya no se como poner las rutas o los nombres para poder organizar todo en carpetas, hasta ahora lo ke estoy haciendo es ponerlo todo en una misma carpeta, el .fla y las dos clases.

S@lu2s.

Por pcreide

25 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 07 Mar 2006 06:13 am

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser

 

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