Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/07/2009, 14:33
eSSeneX
 
Fecha de Ingreso: mayo-2008
Ubicación: Murcia, España
Mensajes: 313
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: AS3: Dónde posicionar el código y lios con packages, .as, y demás

Bien vamos a ver... No te recomiendo programar por frames, ya que es cuanto enredado.

Los packages son conjuntos de clases. Cada una de estas clases está en un archivo .as independiente, el cual, debe poseer el mismo nombre que la clase que está describiendo, ejemplo:

Tengo una clase Reloj:

Reloj.as

Código actionscript:
Ver original
  1. package com.clases.utiles {
  2.     public class Reloj... { ... }
  3. }
com.clases.utiles es el package, el cual, indica que mi clase Reloj, está en el directorio com/clases/utiles de mi aplicación. Si estubiera en la raiz, pues simplemente, no pondríamos nada (solo package {...).

Un package puede tener tantas clases como quieras poner en ese directorio.

Para programar packages y clases, antes de nada, te recomiendo que te crees una clase base para el programa (archivo, nuevo, documento AS), quiero decir:

Código actionscript:
Ver original
  1. package {
  2.     public class Main extends MovieClip {
  3.         public function Main() { }
  4.     }
  5. }

y la guardas en el mismo directorio que tu .Fla con el nombre Main.as. Asocias tu película ("clase base") a esta clase, simplemente poniendo en el cuadrito "Main" (por que está en la raiz, si estubiera en un subdirectorio pondrías el package de la clase mas la clase, por ejemplo com.clases.utiles.Reloj).

En esta clase tendrás que hacer referencia al resto de clases que tengas, pero, cómo puedo yo utilizar desde aquí una clase que tengo en otro package?, muy sencillo:

Código actionscript:
Ver original
  1. package {
  2.     import com.clases.utiles.Reloj;
  3.  
  4.     public class Main extends MovieClip {
  5.         public function Main() {
  6.                 var clock:Reloj = new Reloj();....
  7.                 ...
  8.         }
  9.     }
  10. }

Ya puedo utilizar la clase reloj.

Podrás importar un package completo utilizando el símbolo "*". Por ejemplo, si en com.clases.utiles hubieran 5 o 6 clases que vas a utilizar, simplemente poniendo:

Código actionscript:
Ver original
  1. import com.clases.utiles.*;

importarías el package completamente sin necesidad de indicar una a una las clases que necesitas.

Te recomiendo que te descarges el FlashDevelop de http://www.flashdevelop.org/, te ayudará muchismo a desarrollar aplicaciones en flash, ya que el entorno de desarrollo de este es super incómodo, que hace un programador picando codigo al lado de una paleta de colores?

Espero haber sido claro.. cualquier duda, consulta ;)