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

Usar .as externo

Estas en el tema de Usar .as externo en el foro de Flash y Actionscript en Foros del Web. Hola, soy nuevo con AS3, e creado una clase en un archivo el archivo se llama persiana.as, la clase que adentro tiene lleva el mismo ...
  #1 (permalink)  
Antiguo 22/02/2009, 14:23
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 931
Antigüedad: 14 años, 6 meses
Puntos: 8
Usar .as externo

Hola, soy nuevo con AS3, e creado una clase en un archivo el archivo se llama persiana.as, la clase que adentro tiene lleva el mismo nombre.

Pero como puedo usarla en mi pelicula flash?

Espero de su valiosa ayuda.

Gracias.
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 22/02/2009, 16:01
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 931
Antigüedad: 14 años, 6 meses
Puntos: 8
Respuesta: Usar .as externo

Voy a explicar mejor lo que deseo:

Con ayuda de algunos codigos que he visto por ahi, de mucha ayuda debo decir, tengo esta clase, que me llama algunas imagenes de una carpeta, las cuales va mostrando cada determinado tiempo.

El codigo de la clase es el siguiente:
Código:
package {	
	import flash.display.MovieClip; 
	import flash.display.DisplayObject; 
	import flash.display.Sprite; 
	import flash.display.Loader; 
	import flash.display.LoaderInfo; 
	import flash.events.Event; 
	import flash.events.TimerEvent; 
	import flash.net.*; 
	import fl.transitions.Tween; 
	import fl.transitions.TweenEvent; 
	import fl.transitions.easing.*; 
	import flash.utils.Timer;
	
	public class Persianas extends MovieClip {
		private var arrayImagenes:Array;
		private var index:uint = 0;
		private var container:MovieClip;
		private var loader:Loader;
		private var ruta:String = "png/";
		
		public function Persianas(_imgArr:Array, tiempo:int):void {
			arrayImagenes = _imgArr;
			container = new MovieClip();
			addChildAt(container, 0);
			container.x = 0;
			container.y = 0;
			
			loader = new Loader();
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, placeImg);
			
			loader.load(new URLRequest(ruta + arrayImagenes[0]));
			
			callTimer(tiempo);
		}
		
		private function callTimer(tiempo:int):void {
			var timer:Timer = new Timer(tiempo);
			timer.addEventListener(TimerEvent.TIMER, cargarImagenes);
			timer.start();
		}
		
		private function cargarImagenes(evt:TimerEvent):void {
			loader.load(new URLRequest(ruta + arrayImagenes[index]));
		}
		
		private function placeImg(evt:Event):void {
			var tmp:DisplayObject = loader.content;
			loader.unload();
			var clip:MovieClip = new MovieClip();
			clip.addChild(tmp);
			container.addChild(clip);
			
			if (container.numChildren > 1) {
				clip.alpha = 0;
				
				var t:Tween = new Tween(clip, "alpha", Regular.easeIn, 0, 1, 1, true); 
				t.addEventListener(TweenEvent.MOTION_FINISH, kill);
			}
			
			index++;
			
			if (index == arrayImagenes.length) {
				index = 0;
			}
		}
		
		private function kill(evt:TweenEvent):void {
			container.removeChildAt(0);
		}
	}
}
Ahora yo quiero que usar eso en mi pelicula flash para hacer que las imagenes aparescan, pero no consigo como, debe ser porque aun no encuentro como hacerlo, si alguno me pudiera guiar, cobre como usar esa clase dentro de mi pelicula para hacer loq ue se supne hace, me sentiria muy agradecido, espero que me puedan ayudar.

Saludos.
__________________
El aprendiz.
  #3 (permalink)  
Antiguo 22/02/2009, 19:46
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 13 años
Puntos: 43
Respuesta: Usar .as externo

Hola juandedios !

Así como tienes la clase, se encuentra en el paquete por defecto, esto quiere decir que debe encontrarse donde esta el .fla que hace uso de la clase.

Paquete por defecto.
Código actionscript:
Ver original
  1. package {
  2. }

Los paquetes son espacios lógicos donde agrupas clases relacionadas, por ejemplo podrías tener el paquete com.juandedios

Código actionscript:
Ver original
  1. package com.juandedios {
  2. }

Esto se traduce a carpetas dentro del proyecto, así que debe estar una carpeta "com" y dentro de esta otra carpeta llamada "juandedios".

En el primer caso del paquete por defecto solo es necesario instanciar la clase y añadirla al escenario:

Código actionscript:
Ver original
  1. import Persiana; //Opcional
  2.  
  3. var persiana:Persiana = new Persiana();
  4. addChild(persiana);

En el segundo caso, si la clase estuviera definida en el paquete com.juandedios, tienes que importar la clase, en este caso no puede ser opcional.

Código actionscript:
Ver original
  1. import com.juandedios.Persiana;
  2.  
  3. var persiana:Persiana = new Persiana();
  4. addChild(persiana);

Un saludote !
__________________
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.
  #4 (permalink)  
Antiguo 22/02/2009, 22:41
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 931
Antigüedad: 14 años, 6 meses
Puntos: 8
Respuesta: Usar .as externo

Chvere, muchas gracias por la respuesta, una consulta, el constructor tiene 2 parametros, esos parametros los pongo cuando instancio la clase? osea en:

Código:
var persiana:Persianas = new Persianas(imgArra, 10000)
//imgArra = El arreglo donde tengo las imagenes
//10000 = El tiempo que se demora en cambiar las imagenes, en este caso 10 segundos.
__________________
El aprendiz.
  #5 (permalink)  
Antiguo 23/02/2009, 01:23
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 10 años
Puntos: 51
Respuesta: Usar .as externo

hola juandedioscom o bien has dicho puedes poner los parámetros cuando creas la nueva clase . o despues

Código PHP:
      import com.juandedios.Persiana;
       
      var 
persiana:Persiana = new Persianas(imgArra10000)
      
addChild(persiana); 

Código PHP:
   import com.juandedios.Persiana;
       
      var 
persiana:Persiana = new Persianas()
      
persiana.Persianas(imgArra10000)
      
addChild(persiana); 
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #6 (permalink)  
Antiguo 23/02/2009, 08:18
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 931
Antigüedad: 14 años, 6 meses
Puntos: 8
Respuesta: Usar .as externo

muchas gracias, ya quedo chevere. Me sirvio mucho la guia.
__________________
El aprendiz.
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 18:16.