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

declarar y usar variables en un as externo

Estas en el tema de declarar y usar variables en un as externo en el foro de Flash y Actionscript en Foros del Web. Que tal gente, mi problema: necesito crear variables en un archivo externo, en este caso en un archivo as, para poder usarlo en flex, ya ...
  #1 (permalink)  
Antiguo 17/03/2007, 05:43
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
declarar y usar variables en un as externo

Que tal gente, mi problema: necesito crear variables en un archivo externo, en este caso en un archivo as, para poder usarlo en flex, ya que estas variables las necesito modificar constantemente, como las declaro para poder usarlo en flex, un ejemplo:

variables.as

public var mitexto:String = "Hola nucklear";

y en flex:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" />

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="242" height="199">
<mx:Script source="variables.as"/>


<mx:Label x="58" y="159" width="138" text="{mitexto}" color="#00ff40" fontWeight="bold" fontSize="25" />

</mx:Canvas>

</mx:Application>

es correcto?¿
otra duda: lo hice pero con el codigo as embebido es decir con !cdata me imprimio el texto correctamente, pero al hacerlo con el codigo as externo, me sigue saliendo el mismo texto anterior, aunque borre el cache, las cockies, y todo rastro de la pagina donde visualice la aplicacion sin embargo me sigue mostrando el texto... como puedo hacer. no se si me explique bien.
__________________
Drupal Argentina
  #2 (permalink)  
Antiguo 17/03/2007, 14:00
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Re: declarar y usar variables en un as externo

Hola NUCKLEAR!

Encapsula toda la información en una clase, y en tu aplicación haces referencia a una instancia de la misma, eso de incluir un archivo lleno de variables públicas rompe con las reglas principales de la programación orientada a objetos.

Veo que vas a utilizar nada mas una instancia, se tendría que implementar el patrón singleton esto quiere decir que siempre que crees una instancia de la clase te devolverá la referencia al objeto que creaste la primera vez, por ejemplo haces un paquete "data" y dentro de el creas la siguiente clase:

Código:
package data {
	
	[Bindable]
	public class PersonalData {

        /* Cuando implementas el patrón singleton, siempre el contructor
            debe ser privado para evitar la creación directa de instancias
            pero en as3.0 se pone sus moños y no es posible poner los 
            constructores como privados */
		
		private static var INSTANCE:PersonalData;
		
		private var mitexto:String = "Hola nucklear";
		
		public static function getInstance():PersonalData {
			if(INSTANCE == null) {
				INSTANCE = new PersonalData();
			}
			
			return INSTANCE;
		}
		
		public function get miTexto():String {
			return mitexto;
		}
		
		public function set miTexto($miTexto:String):void {
			mitexto = $miTexto;
		}
		
	}
}
En tu aplicación vas a crear tu objeto llamando al método estático getInstance:

Código:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" />

<mx:Script>
	<![CDATA[
			
		import data.PersonalData;
		private var data:PersonalData = PersonalData.getInstance();
			
	]]>
</mx:Script>

<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="242" height="199">

<mx:Label x="58" y="159" width="138" text="{data.miTexto}" color="#00ff40" fontWeight="bold" fontSize="25" />

</mx:Canvas>

</mx:Application>

Y en toda tu aplicación tan solo llamando el método getInstance, te devolverá la referencia al primer objeto creado, tendrás un acceso global a tu información.

Un saludo!
  #3 (permalink)  
Antiguo 17/03/2007, 15:32
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Re: declarar y usar variables en un as externo

Ademas de lo que comenta jahepi. Lo que deseas hacer no se puede. Explico por que.

Cuando declaras variables en un "as externo" como tu lo llamas. al momento de compilar el SWF ese AS sera compilado junto con el SWF, asi cambies mil veces el valor de la variables en el AS nunca cambiara a menos que vuelvas compilar el SWF, los archivos, clases AS nunca son compiladas en tiempo de ejecucion, ni en FLEX ni en FLASH, para hacer lo que deseas necesitas hacerlo mediante un archivo de texto normal o un XML. de los cuales cargaras la informacion con sus respectivos metodos.

Saludos!!
  #4 (permalink)  
Antiguo 17/03/2007, 20:10
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Re: declarar y usar variables en un as externo

Gracias maestros. si ya lo solucione con xml, y me andubo joya, perdonen mi ignoracia, como se tendria que llamar a "as externo" :) no encontraba otro termino, pero la idea se entendio..
__________________
Drupal Argentina
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 22:49.