Retroceder   Foros del Web > Diseño de Sitios web > Flash y Actionscript > Flex

Respuesta
 
Herramientas Desplegado
Antiguo 17-mar-2007, 05:43   #1 (permalink)
NUCKLEAR tiene algunos puntos positivos de karma
 
Avatar de NUCKLEAR
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 1.334
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.
__________________
No somos Ricos por que tenemos hijos...
El sueño de todo padre es sobrevivir a sus hijos...
Homer Simpson.
Al fin nucklear tiene un blog ñ.ñ
NUCKLEAR está desconectado   Responder Citando
Antiguo 17-mar-2007, 14:00   #2 (permalink)
jahepi está en el buen camino
 
Avatar de jahepi
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 630
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!
jahepi está desconectado   Responder Citando
Antiguo 17-mar-2007, 15:32   #3 (permalink)
Crazy Coder
TMeister llegará a ser famoso muy prontoTMeister llegará a ser famoso muy pronto
 
Avatar de TMeister
 
Fecha de Ingreso: noviembre-2002
Ubicación: En la Oficina
Mensajes: 2.125
Enviar un mensaje por MSN a TMeister
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!!
TMeister esta en línea ahora   Responder Citando
Antiguo 17-mar-2007, 20:10   #4 (permalink)
NUCKLEAR tiene algunos puntos positivos de karma
 
Avatar de NUCKLEAR
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 1.334
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..
__________________
No somos Ricos por que tenemos hijos...
El sueño de todo padre es sobrevivir a sus hijos...
Homer Simpson.
Al fin nucklear tiene un blog ñ.ñ
NUCKLEAR está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 12:39.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93