Re: [ASNativos] CSS y retorno de carro

2006-02-28 Por tema Ivan

Me autorespondo despues de muchas pruebas
Lo he conseguido asi, no sabia que aceptaba la etiqueta span

campoRazones.htmlText = Hola span class='negrita' Adios /spanEsto ya no 
me lo pone en otra linea;


pero me sigue sin gustar que no entienda bien lo otro, sobre todo porque si 
que cogia el formato, pero metia el retorno de carro ¿?

en fin, flash...
Un saludo.




- Original Message - 
From: Ivan [EMAIL PROTECTED]

To: asnativos@5dms.com
Sent: Monday, February 27, 2006 7:31 PM
Subject: [ASNativos] CSS y retorno de carro



Hola
tengo un texto con etiquetas html y cuando le pongo formato con css me 
pone un retorno de carro tras el cierre de la etiqueta ¿es normal?


var miCSS = new TextField.StyleSheet();
miCSS.setStyle(negrita, {color:'#ff'});
campoRazones.styleSheet = miCSS;
campoRazones.htmlText = Hola negrita Adios /negritaEsto me lo pone en 
otra linea;


Gracias.
--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--



--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--


RE: [ASNativos] Instanciar clases dinamicamente

2006-02-28 Por tema Joseba Alonso
Te envio un ejemplo del Factory Method que a mi me esta funcionando, te
debería valer. Si la generaciónn de clases es más compleja hechale un
vistazo al Abstract Factory, como ha comentado Hari, pero el Factory Method
es más facil de entender para comenzar con ello.


// IModulo.as
// Interface que implementan todos los modulos
interface IModulo{
function mostrarContenido();
}

// Modulo1.as
class Modulo1 implements IModulo{
private var contenido:String;

function Modulo1(c:String){
contenido = c;
}

public function mostrarContenido(){
trace(Modulo 1 muestra: +contenido);
}
}

// Modulo2.as
class Modulo2 implements IModulo{
private var contenido:String;

function Modulo2(c:String){
contenido = c;
}

public function mostrarContenido(){
trace(Modulo 2 muestra: +contenido);
}
}

// ModulosFactory.as
class ModulosFactory{
// Esto fuerza la exportacion de las clases
private var m1:Modulo1;
private var m2:Modulo2;

// El Factory method
public static function
crearModulo(tipo:String,contenido:String):IModulo{
var instancia:IModulo = IModulo(new
_global[tipo](contenido));
return instancia;   
}
}

// Codigo Cliente
var m1:IModulo = ModulosFactory.crearModulo(Modulo1,¡Hola Mundo!);
var m2:IModulo = ModulosFactory.crearModulo(Modulo2,Foobar);
m1.mostrarContenido();
m2.mostrarContenido(); 

Un saludo,

Joseba Alonso
www.5dms.com
www.sidedev.net 

 -Mensaje original-
 De: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] En nombre de eemece2
 Enviado el: lunes, 27 de febrero de 2006 19:10
 Para: asnativos@5dms.com
 Asunto: Re: [ASNativos] Instanciar clases dinamicamente
 
 Hola Joseba, y Hari. Gracias,
 
 Con tu codigo, Joseba, no consiguo que funcione con 
 parametros (igual hago algo mal).
 Y lo del 'Factory Method Pattern' no lo conocia y me parece 
 muy interesante, y me vendra bien en otra parte del proyecto, 
 cuando me lo estudie bien. Pero para lo que quería ahora, me 
 da que no me vale, creo:
 
 Lo que estoy haciendo ahora es un mini-framework que va a 
 leer de un XML la configuracion de un portal.
 
 Ahora, en ese XML, pongo una definicion de 'paginas', dentro 
 de las cuales hay instancias de 'modulos'. Y al final tambien 
 estan las definiciones de las diferentes clases de modulos, 
 cada uno con un ID.
 
 Ahora, a la hora de crear esos modulos, uso un switch con el 
 ID de tipo de modulo para instanciar la clase del modulo 
 correspondiente. Lo que ocurre que esto está implementado en 
 una clase 'mainPortalForm', la cual es generica del 
 framework, y de la cual cada portal debera derivar la suya 
 propia. Y cada portal puede tener modulos propios.
 
 Por eso queria dejar de usar switch con el ID del tipo de 
 modulo, y usar una instanciación dinamica, a partir de 
 strings sacados del XML de configuracion del portal (de cada 
 clase de modulo). Y en esa instanciacion tengo que usar los 
 parametros del constructor de la clase modulo (que deriva de 
 una clase base 'modulo').
 
 No se si me he explicado.
 El caso es que igual lo estoy planteando mal, y no es 
 necesario hacer una instanciación dinamica.
 O igual deberia hacer que todos los modulos que implemente 
 vayan 'hard-coded' en el 'mainPortalForm'. No lo tengo muy claro.
 
 Esto va a correr por 'encima' de una aplicacion asp.net, que 
 es la que define el XML, y dentro de la cual se usa un 
 sistema mas o menos dinamico de creacion de modulos a partir 
 de ese XML (teniendo almacenado en el XML las cadenas de los 
 modulos, que son controles asp.net, por ejem:
 Projects.asmx)
 
 Perdon por la chapa, no pensaba liarme tanto :)
 
 Gracias y un saludo,
 Edu-eemece2
 

--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--


RE: [ASNativos] CSS y retorno de carro

2006-02-28 Por tema Joseba Alonso
No creo que sea culpa de Flash, al fin y al cabo, no le estas dando HTML...

Un saludo,

Joseba Alonso
www.5dms.com
www.sidedev.net  

 -Mensaje original-
 De: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] En nombre de Ivan
 Enviado el: martes, 28 de febrero de 2006 11:21
 Para: asnativos@5dms.com
 Asunto: Re: [ASNativos] CSS y retorno de carro
 
 Me autorespondo despues de muchas pruebas Lo he conseguido 
 asi, no sabia que aceptaba la etiqueta span
 
 campoRazones.htmlText = Hola span class='negrita' Adios 
 /spanEsto ya no me lo pone en otra linea;
 
 pero me sigue sin gustar que no entienda bien lo otro, sobre 
 todo porque si que cogia el formato, pero metia el retorno de carro ¿?
 en fin, flash...
 Un saludo.
 
 
 
 
 - Original Message - 
 From: Ivan [EMAIL PROTECTED]
 To: asnativos@5dms.com
 Sent: Monday, February 27, 2006 7:31 PM
 Subject: [ASNativos] CSS y retorno de carro
 
 
  Hola
  tengo un texto con etiquetas html y cuando le pongo formato 
 con css me 
  pone un retorno de carro tras el cierre de la etiqueta ¿es normal?
 
  var miCSS = new TextField.StyleSheet();
  miCSS.setStyle(negrita, {color:'#ff'});
  campoRazones.styleSheet = miCSS;
  campoRazones.htmlText = Hola negrita Adios 
 /negritaEsto me lo pone en 
  otra linea;
 
  Gracias.
  --
  Lista ASNativos:asnativos@5dms.com
  http://www.5dms.com/listas
  --
  
 
 --
 Lista ASNativos:asnativos@5dms.com
 http://www.5dms.com/listas
 --

--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--


RE: [ASNativos] Instanciar clases dinamicamente

2006-02-28 Por tema Manuel de la Higuera
A nivel práctico resulta más sencillo implementar el Factory Method (ó Abstract 
Factory en este caso, puesto que la instanciación es dinámica en el crearModulo 
y no se está utilizando una clase de creación concreta) utilizando clases para 
el módulo concreto.

La signatura del método crearModulo debería ser entonces del tipo 
crearModulo(Function,Args[]), evitando el quick-and-dirty de _global[string] 
que, aunque funcione, podría dar sorpresas en el futuro --o no--. De igual 
forma no entiendo el uso del casting a la interfaz, ¿acaso es estrictamente 
necesario?

Me parece infinitamente más usable (y con más posibilidad para el control de 
errores) crear módulos de esta forma:

import myModules.ConcreteModule;
ModuleFactory.createModule(myModules.ConcreteModule,);

Por otro lado, para mantener la consistencia en la creación de módulos la mejor 
fórmula es usar un Singleton en el Factory. También es prudente basar los 
módulos en una superclase abstracta.

0.02€ :)

M.
 

 -Mensaje original-
 De: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso
 Enviado el: martes, 28 de febrero de 2006 11:33
 Para: asnativos@5dms.com
 Asunto: RE: [ASNativos] Instanciar clases dinamicamente
 
 Te envio un ejemplo del Factory Method que a mi me esta 
 funcionando, te debería valer. Si la generaciónn de clases es 
 más compleja hechale un vistazo al Abstract Factory, como ha 
 comentado Hari, pero el Factory Method es más facil de 
 entender para comenzar con ello.
 
 
 // IModulo.as
 // Interface que implementan todos los modulos interface IModulo{
   function mostrarContenido();
 }
 
 // Modulo1.as
 class Modulo1 implements IModulo{
   private var contenido:String;
   
   function Modulo1(c:String){
   contenido = c;
   }
   
   public function mostrarContenido(){
   trace(Modulo 1 muestra: +contenido);
   }
 }
 
 // Modulo2.as
 class Modulo2 implements IModulo{
   private var contenido:String;
   
   function Modulo2(c:String){
   contenido = c;
   }
   
   public function mostrarContenido(){
   trace(Modulo 2 muestra: +contenido);
   }
 }
 
 // ModulosFactory.as
 class ModulosFactory{
   // Esto fuerza la exportacion de las clases
   private var m1:Modulo1;
   private var m2:Modulo2;
   
   // El Factory method
   public static function
 crearModulo(tipo:String,contenido:String):IModulo{
   var instancia:IModulo = IModulo(new
 _global[tipo](contenido));
   return instancia;   
   }
 }
 
 // Codigo Cliente
 var m1:IModulo = ModulosFactory.crearModulo(Modulo1,¡Hola 
 Mundo!); var m2:IModulo = 
 ModulosFactory.crearModulo(Modulo2,Foobar);
 m1.mostrarContenido();
 m2.mostrarContenido(); 
 
 Un saludo,
 
 Joseba Alonso
 www.5dms.com
 www.sidedev.net 
 
  -Mensaje original-
  De: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] En nombre de eemece2 
 Enviado el: 
  lunes, 27 de febrero de 2006 19:10
  Para: asnativos@5dms.com
  Asunto: Re: [ASNativos] Instanciar clases dinamicamente
  
  Hola Joseba, y Hari. Gracias,
  
  Con tu codigo, Joseba, no consiguo que funcione con 
 parametros (igual 
  hago algo mal).
  Y lo del 'Factory Method Pattern' no lo conocia y me parece muy 
  interesante, y me vendra bien en otra parte del proyecto, 
 cuando me lo 
  estudie bien. Pero para lo que quería ahora, me da que no me vale, 
  creo:
  
  Lo que estoy haciendo ahora es un mini-framework que va a 
 leer de un 
  XML la configuracion de un portal.
  
  Ahora, en ese XML, pongo una definicion de 'paginas', dentro de las 
  cuales hay instancias de 'modulos'. Y al final tambien estan las 
  definiciones de las diferentes clases de modulos, cada uno 
 con un ID.
  
  Ahora, a la hora de crear esos modulos, uso un switch con el ID de 
  tipo de modulo para instanciar la clase del modulo 
 correspondiente. Lo 
  que ocurre que esto está implementado en una clase 
 'mainPortalForm', 
  la cual es generica del framework, y de la cual cada portal debera 
  derivar la suya propia. Y cada portal puede tener modulos propios.
  
  Por eso queria dejar de usar switch con el ID del tipo de modulo, y 
  usar una instanciación dinamica, a partir de strings 
 sacados del XML 
  de configuracion del portal (de cada clase de modulo). Y en esa 
  instanciacion tengo que usar los parametros del constructor de la 
  clase modulo (que deriva de una clase base 'modulo').
  
  No se si me he explicado.
  El caso es que igual lo estoy planteando mal, y no es 
 necesario hacer 
  una instanciación dinamica.
  O igual deberia hacer que todos los modulos que implemente vayan 
  'hard-coded' en el 'mainPortalForm'. No lo tengo muy claro.
  
  Esto va a correr por 'encima' de una aplicacion asp.net, 
 que es la que 
  define el XML, y dentro de la cual se usa un sistema mas o menos 
  dinamico de creacion de modulos a partir de ese XML 

RE: [ASNativos] Instanciar clases dinamicamente

2006-02-28 Por tema Juan Delgado
Manu rulez.

evitando el quick-and-dirty de _global[string] que, aunque funcione,
podría dar sorpresas en el futuro --o no--.

Yo aqui opino lo mismo. Nunca me ha gustado mucho utilizar esto para
instanciar las clases dinmamicamente, lo que pasa es que me faltan un par
de arrobas de OOP para encontrar otro metodo, aunque todo apunta al
Factory, Abstract Factory o similar como bien decis.

Yo ya me he encontrado esa pequenya sorpresa al intentar utilizarlo para
cargar e instanciar clases dinamicamente (un swf solo con una clase), ya
que el swf de la clase estaba exportado para player 7 y el que la cargaba,
para 8. Y los espacios globales NO se ven entre distintas versiones.

0.001€ :)

Bye!

 A nivel práctico resulta más sencillo implementar el Factory Method (ó
 Abstract Factory en este caso, puesto que la instanciación es dinámica
 en el crearModulo y no se está utilizando una clase de creación
 concreta) utilizando clases para el módulo concreto.

 La signatura del método crearModulo debería ser entonces del tipo
 crearModulo(Function,Args[]), evitando el quick-and-dirty de
 _global[string] que, aunque funcione, podría dar sorpresas en el futuro
 --o no--. De igual forma no entiendo el uso del casting a la interfaz,
 ¿acaso es estrictamente necesario?

 Me parece infinitamente más usable (y con más posibilidad para el
 control de errores) crear módulos de esta forma:

   import myModules.ConcreteModule;
   ModuleFactory.createModule(myModules.ConcreteModule,);

 Por otro lado, para mantener la consistencia en la creación de módulos
 la mejor fórmula es usar un Singleton en el Factory. También es prudente
 basar los módulos en una superclase abstracta.

 0.02€ :)

 M.


 -Mensaje original-
 De: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso
 Enviado el: martes, 28 de febrero de 2006 11:33
 Para: asnativos@5dms.com
 Asunto: RE: [ASNativos] Instanciar clases dinamicamente

 Te envio un ejemplo del Factory Method que a mi me esta
 funcionando, te debería valer. Si la generaciónn de clases es
 más compleja hechale un vistazo al Abstract Factory, como ha
 comentado Hari, pero el Factory Method es más facil de
 entender para comenzar con ello.


 // IModulo.as
 // Interface que implementan todos los modulos interface IModulo{
  function mostrarContenido();
 }

 // Modulo1.as
 class Modulo1 implements IModulo{
  private var contenido:String;

  function Modulo1(c:String){
  contenido = c;
  }

  public function mostrarContenido(){
  trace(Modulo 1 muestra: +contenido);
  }
 }

 // Modulo2.as
 class Modulo2 implements IModulo{
  private var contenido:String;

  function Modulo2(c:String){
  contenido = c;
  }

  public function mostrarContenido(){
  trace(Modulo 2 muestra: +contenido);
  }
 }

 // ModulosFactory.as
 class ModulosFactory{
  // Esto fuerza la exportacion de las clases
  private var m1:Modulo1;
  private var m2:Modulo2;

  // El Factory method
  public static function
 crearModulo(tipo:String,contenido:String):IModulo{
  var instancia:IModulo = IModulo(new
 _global[tipo](contenido));
  return instancia;
  }
 }

 // Codigo Cliente
 var m1:IModulo = ModulosFactory.crearModulo(Modulo1,¡Hola
 Mundo!); var m2:IModulo =
 ModulosFactory.crearModulo(Modulo2,Foobar);
 m1.mostrarContenido();
 m2.mostrarContenido();

 Un saludo,

 Joseba Alonso
 www.5dms.com
 www.sidedev.net

  -Mensaje original-
  De: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] En nombre de eemece2
 Enviado el:
  lunes, 27 de febrero de 2006 19:10
  Para: asnativos@5dms.com
  Asunto: Re: [ASNativos] Instanciar clases dinamicamente
 
  Hola Joseba, y Hari. Gracias,
 
  Con tu codigo, Joseba, no consiguo que funcione con
 parametros (igual
  hago algo mal).
  Y lo del 'Factory Method Pattern' no lo conocia y me parece muy
  interesante, y me vendra bien en otra parte del proyecto,
 cuando me lo
  estudie bien. Pero para lo que quería ahora, me da que no me vale,
  creo:
 
  Lo que estoy haciendo ahora es un mini-framework que va a
 leer de un
  XML la configuracion de un portal.
 
  Ahora, en ese XML, pongo una definicion de 'paginas', dentro de las
  cuales hay instancias de 'modulos'. Y al final tambien estan las
  definiciones de las diferentes clases de modulos, cada uno
 con un ID.
 
  Ahora, a la hora de crear esos modulos, uso un switch con el ID de
  tipo de modulo para instanciar la clase del modulo
 correspondiente. Lo
  que ocurre que esto está implementado en una clase
 'mainPortalForm',
  la cual es generica del framework, y de la cual cada portal debera
  derivar la suya propia. Y cada portal puede tener modulos propios.
 
  Por eso queria dejar de usar switch con el ID del tipo de modulo, y
  usar una instanciación dinamica, a partir de strings
 sacados del XML
  de configuracion del portal (de cada clase de 

RE: [ASNativos] Instanciar clases dinamicamente

2006-02-28 Por tema Manuel de la Higuera
Supongo que con mi anterior mail ha quedado clara mi postura al respecto. En
cuanto a lo de la interface, es redundante hacer casting a la interfaz
cuando la clase (supuestamente) creada a partir de _global[string]
implementa esa interfaz.

Siempre se puede hacer duck typing de cualquier forma (si la clase no
implementa la interfaz) pero me temo que eso es otro thread totalmente
diferente y fuera del rango de esta diatriba.

M.

 

 -Mensaje original-
 De: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso
 Enviado el: martes, 28 de febrero de 2006 16:07
 Para: asnativos@5dms.com
 Asunto: RE: [ASNativos] Instanciar clases dinamicamente
 
 
  A nivel práctico resulta más sencillo implementar el 
 Factory Method (ó 
  Abstract Factory en este caso, puesto que la instanciación 
 es dinámica 
  en el crearModulo y no se está utilizando una clase de creación 
  concreta)
 
 Creo que te estas equivocando (igual lo hago yo) pero según 
 tengo yo entendido ni en el Factory Method (FM) y en el 
 Abstract Factory (AF) se habla de cómo realizar la 
 implementación, solo de la arquitectura. He visto unos 
 cuantos que usan reflexion para hacerlo, que viene a ser lo 
 mismo que en Flash usar _global. Que yo sepa en el AF se 
 definen interfaces para la creacion de un conjunto de objetos 
 relacionados, mientras que en el FM se encarga solo de un 
 tipo en concreto. Que en la implementacion uses un switch, 
 reflexion o lo que quieras para determinar el tipo concreto 
 no influye en que sea un pattern u otro. Vamos, eso creo. De 
 todas maneras, el ejemplo que he puesto yo se hacerca mas a 
 una simple factory, en realidad hacer un FM parece más 
 correcto en este caso, sobre todo si quiere escalar a 
 realizar distintos tipos de portales, pero es por darle algo 
 sencillo con lo que comenzar :)
 
 
 A mi me pareció cojonudo este articulo al respecto (en 
 castellano) 
 (http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voice
 s/MTJ_3624.asp
 )
  
  La signatura del método crearModulo debería ser entonces del tipo 
  crearModulo(Function,Args[]), evitando el quick-and-dirty de 
  _global[string] que, aunque funcione, podría dar sorpresas en el 
  futuro --o no--.
 
 Efectivamente podria darlas, aunque no conozco otra manera de 
 instanciación dinámica en Flash que no pase por usar el eval 
 o la array sintax, y el scope en este caso es correcto, las 
 clases se encuentran ahí, no se me ocurre otra forma que no 
 pase por un switch la verdad...
 
  De igual forma no
  entiendo el uso del casting a la interfaz, ¿acaso es estrictamente 
  necesario?
 
 El factory method tendra que devolver algun tipo digo yo :) 
 un interface me ha parecido lo mejor.
 
  
  Me parece infinitamente más usable (y con más posibilidad para el 
  control de errores) crear módulos de esta forma:
  
  import myModules.ConcreteModule;
  ModuleFactory.createModule(myModules.ConcreteModule,);
  
 
 Sin duda :) pero él tiene un string que viene de un XML, no 
 una referencia a la clase.
 
 Interesante conversacion, por otra parte...
 
 Joseba Alonso
 www.5dms.com
 www.sidedev.net 
 
 --
 Lista ASNativos:asnativos@5dms.com
 http://www.5dms.com/listas
 --
 

--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--


RE: [ASNativos] Instanciar clases dinamicamente

2006-02-28 Por tema Joseba Alonso
 En cuanto a lo de la interface, es redundante 
 hacer casting a la interfaz cuando la clase (supuestamente) 
 creada a partir de _global[string] implementa esa interfaz.

De acuerdo, era solo por hacerlo más explicito...

De todas maneras se nos queda en el tintero como obtener la referencia a la
clase a partir de un string, ¿Alguna idea que no pase por un feo switch o el
antipattern del array sintax?

Joseba Alonso
www.5dms.com
www.sidedev.net 

--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--


Re: [ASNativos] Instanciar clases dinamicamente

2006-02-28 Por tema danisan

Un pequeño inciso en la conversación

Juan Delgado escribió:


Yo ya me he encontrado esa pequenya sorpresa al intentar utilizarlo para
cargar e instanciar clases dinamicamente (un swf solo con una clase), ya
que el swf de la clase estaba exportado para player 7 y el que la cargaba,
para 8. Y los espacios globales NO se ven entre distintas versiones.

No hay ningún problema utilizando variables globales entre versiones 7 y 
8. Los problemas de seguridad se dan entre versiones compiladas para el 
plugin 6 y el 7 (y entiendo que posteriores).

Saludos.
--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--


Re: [ASNativos] Instanciar clases dinamicamente

2006-02-28 Por tema Juan Delgado
U... vale, justo acabo de hacer la prueba intensiva.

Entre 7 y 8 se ven los globales, pero entre 7 y 6 u 8 y 6, no. En
cualquier caso no parece un metodo muy fiable. Quicir, a mi me da que
este es el tipo de cosa que de una version a otra se cepillan (la
visibilidad entre globales o la posibilidad de crear asi las clases
dinamicamente) y tus aplicaciones dejan de funcionar a la de ya.

Ea.

 Un pequeño inciso en la conversación

 Juan Delgado escribió:

Yo ya me he encontrado esa pequenya sorpresa al intentar utilizarlo para
cargar e instanciar clases dinamicamente (un swf solo con una clase), ya
que el swf de la clase estaba exportado para player 7 y el que la
 cargaba,
para 8. Y los espacios globales NO se ven entre distintas versiones.

 No hay ningún problema utilizando variables globales entre versiones 7 y
 8. Los problemas de seguridad se dan entre versiones compiladas para el
 plugin 6 y el 7 (y entiendo que posteriores).
 Saludos.
 --
 Lista ASNativos:asnativos@5dms.com
 http://www.5dms.com/listas
 --




Juan Delgado ([EMAIL PROTECTED])

--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--


[ASNativos] Cargador para XML

2006-02-28 Por tema Nueva Imagen Digital, S.L.

Buenas noches ASfanaticos

Se que algo de esto hay escrito en la lista, lo he leido.. pero la 
verdad es que no lo entiendo. Os espongo mi problema


Estoy montando un sitio web con varios swf cargados con el loadMovieNum, 
todas los swf tienen su precargador típico y este funciona.


Ahora bien, en unas partes de la web existe una galeria de espectaculos 
con una tira de imágenes con los correspondientes carteles de cada uno 
de estos.
Cada espectáculo se compone de sinopsi, cartel, fotos, titulo, etc, que 
lo cargo todo a traves de un xml que tiene esta estructura


/espectaculo
   espectaculo id=2 nombre= nom= castellano= valenciano= 
cartel= cartell=

   fotos
   foto/foto
   /fotos
   /espectaculo
el xml se parsea bien, y dinámicamente se me crea la galeria según 
cuantos espectaculos existan en el xml.
mi código crea primero los clips para cada uno de los espectaculos, 
carga las imagenes y asocia a cada uno de los elementos de la tira de 
imágenes todo los datos que necesita del xml.


Pero el problema, es que desde que se crean los clips(boton) para cada 
uno de los elementos del xml, se quedan en blanco los movieclips y no 
consigo crear un cargador cutre para xml para que no tener la tira de 
imágenes en blanco hasta que se terminan de cargar todas las imágenes.


Por favor, hechadme una mano (y  que no sea al cuello, jejeje) que llevo 
muchos dias pasando sueño para intentar solucionar esto y no lo consigo.

Os pongo tb el código que utilizo para cargar el xml y la galería.

stop();
// Initialize useful variables and picture array
cellWidth = tira_mc.reel_mc.cell_mc._width;
center = tira_mc._width / 2;
pics = new Array ();
//esto es lo que hace que la tira se mueva hacia un lado u otro
onEnterFrame = function () {
   if (_xmouse  330  _ymouse  265) {
   reelSpeed = ((_xmouse - 330) - center) / 10;
   tira_mc.reel_mc._x += reelSpeed;
   // Apply limits to reel position
   leftStop = center - tira_mc.reel_mc._width + cellWidth / 2;
   rightStop = center - cellWidth / 2;
   if (tira_mc.reel_mc._x  leftStop) {
   tira_mc.reel_mc._x = leftStop;
   } else if (tira_mc.reel_mc._x  rightStop) {
   tira_mc.reel_mc._x = rightStop;
   }
   }
};
// esto es el constructor del objeto espectaculo
espectaculo = function (id, nombre, nom, castellano, valenciano, cartel, 
cartell, fotos) {

   this.id = id;
   this.nombre = nombre;
   this.nom = nom;
   this.castellano = castellano;
   this.valenciano = valenciano;
   this.cartel = cartel;
   this.cartell = cartell;
   this.fotos = fotos;
};
//aqui defino para cada celdita lo que tiene k cargar en ella
NewCell = function (num, details) {
   // Create a new cell
   originalClip = tira_mc.reel_mc.cell_mc;
   newClip = originalClip.duplicateMovieClip (cell + num, num);
   // Set cell position and text fields
   newClip._x = num * 120;
   // Coloco el contenido de cada uno de los espectaculos en su celdita 
del scroll 
   content = newClip.placeholder_mc;

   //PONGO EL CARTEL CORRESPONDIENTE
   //controlo si hay cartel o no
   if (details.cartel != undefined  details.cartel != null  
details.cartel != ) {

   content.loadMovie (details.cartel);
   } else if (details.cartell != undefined  details.cartell != null 
 details.cartell != ) {

   content.loadMovie (details.cartell);
   } else {
   //si no hay pongo uno genérico
   content.loadMovie (./images/logo_.gif);
   }
   //DEFINO LAS FUNCIONES DE BOTON DE CADA celdita del scroll
   newClip.onRelease = function () {
   //compruebo si hay cartel
   if (details.cartel != undefined  details.cartel != null  
details.cartel != ) {

   foto.clip_foto.loadMovie (details.cartel);
   } else if (details.cartell != undefined  details.cartell != 
null  details.cartell != ) {

   foto.clip_foto.loadMovie (details.cartell);
   } else {
   //si no hay pongo uno genérico
   foto.clip_foto.loadMovie (./images/logo_.gif);
   }
   //compruebo si hay texto
   if (details.castellano != undefined  details.castellano != 
null  details.castellano != ) {

   texto_espectaculo.sinopsi.text = details.castellano;
   } else if (details.valenciano != undefined  details.valenciano 
!= null  details.valenciano != ) {

   texto_espectaculo.sinopsi.text = details.valenciano;
   } else {
   //si no hay pongo uno genérico
   texto_espectaculo.sinopsi.text = Contacte con nosotros para 
obtener más información;

   }
   for (m = 0; m  12; m++) {
   this._parent._parent._parent[cuad + m].gotoAndStop (3);
   this._parent._parent._parent[cuad + m].enable = false;
   }
   for (k = 0; k  details.fotos.length; k++) {
   if (details.fotos[k] != undefined) {
   this._parent._parent._parent[cuad + k].gotoAndStop (2);
   this._parent._parent._parent[cuad + k].enable = true;
   this._parent._parent._parent[cuad + 

Re: [ASNativos] Cargador para XML

2006-02-28 Por tema Nueva Imagen Digital, S.L.
Ah, se me olvidaba. Una vez tengo cargado el xml... también tengo el 
problema con las imágenes, que se queda un ratito hasta que se cargan y 
aparecen. Y me pasa lo mismo. Se que existe el movieclip.loadClip(), 
pero... creo k las neuronas no me funcionan demasiado porque no consigo 
que funcione nada tampoco.


Gracias de antemano
Un saludo

Moisés
--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--


[ASNativos] Problema easing

2006-02-28 Por tema Fernando Sáez Comet
Tengo nueve clips, al pinchar en cada uno quiero que se muevan fuera del 
escenario y los demás vuelvan a su posición inicial.

Al pinchar en c1_mc hace un movimiento extraño

var xfinal:Number;
var yfinal:Number;
var vel:Number = 5;

function moverA(clip:MovieClip,x:Number,y:Number){
xfinal = x;
yfinal = y;
clip.onEnterFrame = __moverA;
}

function __moverA(){
var xinicial:Number = this._x;
var yinicial:Number =this. _y;

var x:Number = xinicial + ((xfinal-xinicial)/vel);
var y:Number = yinicial + ((yfinal-yinicial)/vel);

this._x = x;
this._y = y;
}

c1_mc.onRelease = function(){
moverA(c1_mc,-100,363.5);
moverA(c2_mc,368.5,363.5); //Esta línea falla
}

_
Descubre la descarga digital con MSN Music. Más de un millón de canciones. 
http://music.msn.es/


--
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
--