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

Definiciones iniciales de clases en AS3???

Estas en el tema de Definiciones iniciales de clases en AS3??? en el foro de Flash y Actionscript en Foros del Web. Hola! Tras comenzar a inicializarme en el nuevo código AS3, me gustaría saber si alguien me puede explicar como se definen, a la hora de ...
  #1 (permalink)  
Antiguo 08/10/2008, 02:23
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 17 años
Puntos: 10
Pregunta Definiciones iniciales de clases en AS3???

Hola!

Tras comenzar a inicializarme en el nuevo código AS3, me gustaría saber si alguien me puede explicar como se definen, a la hora de trabajar con un documento nuevo de AS3, las clases iniciales para poder realizar cualquier trabajo en AS3, ya que he visto tutoriales, video tutoriales,etc... pero están hechos desde un punto de vista más avanzado que si uno empieza casi de 0.

Alguien podría compartir conocimientos para los que estamos empezando?

Muchas gracias.
  #2 (permalink)  
Antiguo 08/10/2008, 04:45
 
Fecha de Ingreso: marzo-2008
Mensajes: 100
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Definiciones iniciales de clases en AS3???

-Primero se declara el paquete (en AS3 todas las clases pertenecen un paquete)


package mipaquete{

}

- Dentro de ese paquete creas la nueva clase

class Miclase{

}

- Dentro de la clase se mete la función constructora de la clase(crea una instancia de la clase que has creado)

public function Miclase(){
}

En defintiva el codigo más básico para crear una clase en AS3 sería:

Código PHP:
package mipaquete{
              class 
Miclase{
                         public function 
Miclase(){
                                     }
                            }
           } 
Después, debes tener en cuanta algunas cosas tales como:

- Entre la declaración del paquete y la clase, se hacen las importaciones de las clases que vayas a usar y que no estén dentro del paquete de tu clase, por ejemple:
import flash.event.laclasequenecesites

- La clase que has creado, si es para proyectos gráfgicos de algún tipo, debe heredar o de la clase Sprite o de la clase Movieclip. Al declarar la clase debería poner: class Miclase extends Sprite {} (por ejemplo)

- Dentro del cuerpo de la clase se suelen declarar las variable (o propiedades) que van a tener los objetos de esa clase, después vendrá la función constructora, donde meterás el código que quieras que se ejecute cuando ejecutes tu programa (estoy hablando en el caso de haber creado una clase principal para desarrollar un programa)y después de la función constructora vendrían todos los métodos de esa clase.

Ups, no se si me he explicado muy bien, espero te sirva de algo.

Un saludo!!
  #3 (permalink)  
Antiguo 09/10/2008, 09:10
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 17 años
Puntos: 10
Respuesta: Definiciones iniciales de clases en AS3???

Monokote, muchas gracias por contestar, pero...cuales son los pasos basicos donde se meten las clases?es decir, en algun tutorial leí que había quye crear dos archivos diferentes .AS y aparte, como se hace paso a paso desde flash?

Muchas gracias!!
  #4 (permalink)  
Antiguo 09/10/2008, 11:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 100
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Definiciones iniciales de clases en AS3???

Efectivamente, son archivos .AS, a ver, te explico con un poco más de detalle como comenzar un proyecto desde cero.

- Abres Flash CS3 y eliges "Crear nuevo archivo ActionScript". Verás que es algo diferente a un archivo .fla, pq no tiene linea del tiermpo, solo panel de acciones.

- Ahora en ese archivo, creas tu clase principal, te pongo un ejemplo muy simple:

Código PHP:
package prueba{
     
import flash.display.Sprite //Hay que importar o esta clase o la clase MovieClip

              
class Clasedeprueba import Sprite{
                       public function 
Claseprueba(){
                                
trace("Prueba de mi primer programa desde cero");
                               }
                      }


     } 
- Una vez que has creado la clase, crea en el directorio que quieras, una carpeta "prueba" puesto que así se llama el paquete que has creado y la clase que has creado ha de residir allí.

-Guarda este archivo .AS dentro de esa carpeta poniéndole el mismo nombre que a la clase que has creado, en este caso "Clasedeprueba"

- Hasta ahora tenemos una carpeta llamada "prueba" en un directorio, y en su interior, un archivo .AS llamado "Clasedeprueba.AS" donde has definido tu clase.

-Ahora crea un nuevo archivo normal de flash as3, es decir, un fla. Lo que hacemos ahora es llamar desde este archivo a la clase que has creado. Siempre necesitamos tener un fla final para poder publicarlo, puestoi que los archivos .AS no se pueden compilar directamente.

-Una vez lo hayas creado (simplemente crearlo) guardalo con el nombre que quieras (Por ejemplo "primerprogramadesdecero.fla") en el mismo directorio donde creaste la carpeta "prueba", la que contiene tu archivo.AS

-Ahora, en el archivo fla en blanco que tienes, en el panel propiedadesd (abajo) donde pone "Clase de Documento", escribe la clase a la que quieres hacer refernecia, en este caso deberas escribir: "prueba.Clasedeprueba". Primero escribes la carpeta/paquete donde esta esa clase metida y después, separada por un punto, el nombre de la clase.

- Vuelve a guardar el archivo para actualizar ese pequeño pero importante cambio y publícalo. Te saldrá el trace(); que hemos puesto en la clase que definimos previamente.

- De esta manera, dentro de la función constructora de la clase principal, puedes codificar el programa que quieras, para luego, llamar a esa clase desde un archivo fla tal como te he indicado.

Espero no haber hecho una explicaión no muy liosa y que lo hayas entendido, y bueno claro, que sea esto lo que estás buscando

Si tienes cualquier duda acerca del proceso que te he explicado o acerca de la definición de la clase (he puesto una importación y una herencia que no te expliqué al principio) no dudes en preguntar, no soy un experto ni mucho menos pero ya he practicado bastante estos pasos inciales.

Mucho ánimo y Un saludo!!!
  #5 (permalink)  
Antiguo 23/10/2008, 04:10
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 17 años
Puntos: 10
Exclamación Respuesta: Definiciones iniciales de clases en AS3???

Muchas gracias monokote por ser tan claro y explicarlo facil!

El caso es que tengo un problemilla, cuando copio el codigo AS que me has puesto, me da el siguiente error:

Cita:
Ubicación: Script-2,Línea 4 - 1084: Error de sintaxis: se esperaba leftbrace antes de import. - Origen:Class Clasedeprueba import sprite {
, no se si éste error se corrige posteriormente o esque hay algun errorcillo en el código.

Me puedes ayudar?

Un saludo, gracias!!
  #6 (permalink)  
Antiguo 23/10/2008, 07:57
 
Fecha de Ingreso: octubre-2008
Mensajes: 12
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Definiciones iniciales de clases en AS3???

Ese error te dice que te falta una llave a la izquierda de import. Aunque en realidad está. Pon el cursor justo después de la llave de la primera línea y pulsa supr hasta que import y la llave estén pegados, luego le das en intro para vuelva a bajar.Puede ser un fallo del copy-paste, creo. Luego, después de la sentencia import puedes poner un ";" aunque no es necesario. Por último, en construtor de una clase debe llamarse igual que la clase. Aunque aquí eso no importe, pero parece haber sido una simple errata al escribir. Creo que Monokote ha querido hacerlo así.

saludos.
  #7 (permalink)  
Antiguo 23/10/2008, 08:07
 
Fecha de Ingreso: marzo-2008
Mensajes: 100
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Definiciones iniciales de clases en AS3???

Upsss, efectivamente, es una errata, donde dice:

function Claseprueba deberia decir function Clasedeprueba, es decir, esa función (constructora)ha de llamarse exactamente igual que la clase.

En cuanto al error que te da, no copies y pegues el codigo, ya que yo metí espacios en blanco para que se viera mejor la organización, aunque no debiera interferir. Vuelve a copiarte el código y pruieba de nueva con ese pequeño error corregido, y si te sigue sin funcionar, dímelo y te subo los archivos.

Disculpa por los errores de escritura, cosas del directo y de ir escribiendo sobre la marcha y Gracias por las correciones Noja33!

Un saludo y..a seguir aprendiendo
  #8 (permalink)  
Antiguo 27/10/2008, 03:15
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 17 años
Puntos: 10
Respuesta: Definiciones iniciales de clases en AS3???

hola monokote!

No consigo solucionar el error del código...que puedo hacer?

Gracias
  #9 (permalink)  
Antiguo 27/10/2008, 12:29
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 11 meses
Puntos: 43
Respuesta: Definiciones iniciales de clases en AS3???

Cita:
Iniciado por NaRanJiTo78 Ver Mensaje
hola monokote!

No consigo solucionar el error del código...que puedo hacer?

Gracias
Hola NaRanJiTo78 !

Podrías poner el código de la Clase para ver si hay algún error ?

Un saludo !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #10 (permalink)  
Antiguo 28/10/2008, 05:46
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 17 años
Puntos: 10
Respuesta: Definiciones iniciales de clases en AS3???

Cita:
Iniciado por jahepi Ver Mensaje
Hola NaRanJiTo78 !

Podrías poner el código de la Clase para ver si hay algún error ?

Un saludo !
Hola jahepi!

El código es éste:

Cita:
package prueba{
import flash.display.Sprite //Hay que importar o esta clase o la clase MovieClip

class Clasedeprueba import Sprite{
public function Clasedeprueba(){
trace("Prueba de mi primer programa desde cero");
}
}


}
Hay un problema por los espacios, pero no consigo dar con ello...

Saludos!!
  #11 (permalink)  
Antiguo 28/10/2008, 06:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 100
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Definiciones iniciales de clases en AS3???

Aisss, perdona Naranjito, es que hay otro fallo (joe, que torpe soy), donde pone:

class ClasedePrueba import Sprite;

debería poner

class ClasedePrueba extends Sprite;

a ver si ahora te funciona!!

un saludo
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 23:27.