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

Cargar swf desde flash cs3

Estas en el tema de Cargar swf desde flash cs3 en el foro de Flash y Actionscript en Foros del Web. Buenas! Tengo un pequeño ( o gran problema desde mi punto de vista). Es el siguiente: Tengo un archivo CS3 en el cual he insertado ...
  #1 (permalink)  
Antiguo 10/12/2008, 06:14
 
Fecha de Ingreso: noviembre-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Sonrisa Cargar swf desde flash cs3

Buenas!
Tengo un pequeño ( o gran problema desde mi punto de vista). Es el siguiente:

Tengo un archivo CS3 en el cual he insertado 3 containers;

c1(container de menú)
c2(container de información)
c3(container de información)

y he puesto este código:

var request:URLRequest = new URLRequest("menu1.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);


Para que al iniciar la carga, en el c1 se cargue el menú.

El problema es que no sé cómo debo poner el resto del código para que en el c1 se cargue "menu1.swf" ya que con el códio que he puesto, se carga el "menu1.swf" en el medio de la pantalla.

Gracias por leer mi duda!

Un saludo
  #2 (permalink)  
Antiguo 10/12/2008, 06:58
Avatar de sfx4ever  
Fecha de Ingreso: noviembre-2003
Ubicación: aqui
Mensajes: 384
Antigüedad: 21 años
Puntos: 2
Respuesta: Cargar swf desde flash cs3

mmm, si no te entendido mal, creo que la solución es muy fácil, simplemente cambias el :

addChild(loader);

por :

c1.addChild(loader);

y te añadira lo que cargas al contenedor en vez de al stage...

suerte.
  #3 (permalink)  
Antiguo 10/12/2008, 13:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Respuesta: Cargar swf desde flash cs3

Gracias sfx4ever! He puesto lo que me has dicho y ha quedado así;
var request:URLRequest = new URLRequest("menu1.swf");
var loader:Loader = new Loader()
loader.load(request);
c1.addChild(loader);

Por lo tanto,al iniciar a cargar la web en el c1 se carga el "menu1.swf", pero también quiero que se cargue en el c2 el archivo " menu1_btn1.swf" y en el c3 el archivo " foto1.swf" y pongo exactamente lo mismo debajo pero cambiando el c1 por c2 y me sale error!

Siento ser pesado, pero hasta ahora he trabajado con AS2.0 y estoy cambiando a AS3.0 y voy algo perdido...

Saludos! y Gracias de nuevo!
  #4 (permalink)  
Antiguo 10/12/2008, 14:02
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 17 años
Puntos: 51
Respuesta: Cargar swf desde flash cs3

es por que esta duplicando las variables realmente lo tendris que poner asi

var request:URLRequest = new URLRequest("menu1.swf");
var loader:Loader = new Loader()
loader.load(request);
c1.addChild(loader);
var request2:URLRequest = new URLRequest("menu1_btn1.swf");
var loader2:Loader = new Loader()
loader2.load(request2);
c2.addChild(loader2);
var request3:URLRequest = new URLRequest("foto1.swf");
var loader3:Loader = new Loader()
loader3.load(request3);
c3.addChild(loader3);


aunque es totalmente poco ortodoxo XDXDDXDX pero utilizando una funcion como esta te ahorras de poner codigo


Código PHP:

function Carga(dir:String,Container){
var 
request:URLRequest = new URLRequest(dir);
var 
loader:Loader = new Loader()
loader.load(request);
Container.addChild(loader);
}
Carga ("menu1.swf",c1)
Carga ("menu1_btn1.swf",c2)
Carga ("foto1.swf",c3
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #5 (permalink)  
Antiguo 10/12/2008, 14:17
 
Fecha de Ingreso: noviembre-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Respuesta: Cargar swf desde flash cs3

Muchísimas gracias Lynxcraft!!

Es increible! He pagado una dinerada por un curso de AS3 y el profesor no sabe resolverme las dudas y vosotros sí!

Ahora tengo otra pequeña duda, si en cada container tengo un menú, pongamos que en el c1 tengo el menú 1, que al clicar una fotografía, en el c2 tiene q salir un menú u otro, y en el c2 depende del botón que se clique, saldrá una imagen u otra en el c3.

Mi pregunta es ¿ Dónde debo poner el AS? ¿Dentro de cada swf que cree? o desde la pantalla inicial que es donde he puesto el AS anterior que me habéis dado?

En AS2.0 ponía el código en cada swf, pero al ponerlo en AS3, si lo pongo en el swf me da errores.

Gracias de nuevo! Saludos
  #6 (permalink)  
Antiguo 11/12/2008, 06:51
 
Fecha de Ingreso: diciembre-2008
Ubicación: Córdoba
Mensajes: 59
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Cargar swf desde flash cs3

Cita:
Iniciado por such Ver Mensaje
Muchísimas gracias Lynxcraft!!

Es increible! He pagado una dinerada por un curso de AS3 y el profesor no sabe resolverme las dudas y vosotros sí!

Ahora tengo otra pequeña duda, si en cada container tengo un menú, pongamos que en el c1 tengo el menú 1, que al clicar una fotografía, en el c2 tiene q salir un menú u otro, y en el c2 depende del botón que se clique, saldrá una imagen u otra en el c3.

Mi pregunta es ¿ Dónde debo poner el AS? ¿Dentro de cada swf que cree? o desde la pantalla inicial que es donde he puesto el AS anterior que me habéis dado?

En AS2.0 ponía el código en cada swf, pero al ponerlo en AS3, si lo pongo en el swf me da errores.

Gracias de nuevo! Saludos
Cito el codigo anterior y agrego
Código actionscript:
Ver original
  1. function Carga(dir:String,Container){
  2. var request:URLRequest = new URLRequest(dir);
  3. var loader:Loader = new Loader()
  4. loader.load(request);
  5. Container.addChild(loader);
  6. }
  7. Carga ("menu1.swf",c1)
  8. Carga ("menu1_btn1.swf",c2)
  9. Carga ("foto1.swf",c3)  
  10. c1.addEventListener(MouseEvent.CLICK,clico);
  11. c2.addEventListener(MouseEvent.CLICK,clico);
  12. private function clico(e:Event){
  13. //aki pondrias el codigo para manejar las pulsaciones
  14. // solo e puesto una funcion para manejar todos lo botones ya que con
  15. //e.target.name obtienes el nombre del boton pulsado
  16. //y con e.currentTarget.name obtines el nombre del contenedor del boton
  17. }
  #7 (permalink)  
Antiguo 11/12/2008, 08:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Respuesta: Cargar swf desde flash cs3

Gracias Pitillos por molestarte y contestarme!

Lo siento pero no logro entender tu explicación...el código para que al clicar los otros botones se carguen en el c2 y c3, dónde lo pongo? en el Index o cada swf meto el código para que al clicar en el menú2 (c2) salga una foto en el c3?

Gracias de nuevo!
Un saludo.
  #8 (permalink)  
Antiguo 11/12/2008, 17:55
 
Fecha de Ingreso: diciembre-2008
Ubicación: Córdoba
Mensajes: 59
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Cargar swf desde flash cs3

Bueno a ver si me explico,

me imagino que tu pelicula "menu1.swf" tendra varios botones y dependiento del pulsado se mostrara "menuX_btnX.swf" donde X sera el numero del boton pulsado, bien vamos por partes:
Código actionscript:
Ver original
  1. function Carga(dir:String,Container){
  2. var request:URLRequest = new URLRequest(dir);
  3. var loader:Loader = new Loader()
  4. loader.load(request);
  5. Container.addChild(loader);
  6. }
  7. Carga ("menu1.swf",c1)
  8. Carga ("menu1_btn1.swf",c2)
  9. Carga ("foto1.swf",c3)  
  10. c1.addEventListener(MouseEvent.CLICK,clicoc1);
  11. private function clicoc1(e:Event){
  12.         var cual:String;
  13.         cual=e.target.name.substr(4,str.length-3) ;
  14.         Carga("menu"+cual+"_btn"+cual+".swf",c2);
  15. }
No se si me explico bien pero lo importante es captuar el boton pulsado y actuar en consecuencia para lo otro es lo mismo pero cambiandolo xD
  #9 (permalink)  
Antiguo 12/12/2008, 04:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Respuesta: Cargar swf desde flash cs3

Gracias de nuevo Pitillos!
Ahora cuando clico en el botón del "menu1_btn1" en el c2 me va cambiando, pero el problema es que cuando voy clicando los botones, en el c2 se me va sobreponiendo los swf. En AS2 al cargar un swf en el container se autoremplazaba.
¿Qué código debo poner para que AS automáticamente reemplace los swf? :(
Gracias por molestaros!
Un saludo
  #10 (permalink)  
Antiguo 12/12/2008, 05:45
 
Fecha de Ingreso: diciembre-2008
Ubicación: Córdoba
Mensajes: 59
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Cargar swf desde flash cs3

Bueno simprlemente vacialo tu mismo:
Create un flag para almacenar el nombre del que habia cargado y cuando vayas a cargar otro quitalo.

Código actionscript:
Ver original
  1. var CualEstaCargado:String="";
  2. function Carga(dir:String,Container){
  3. var request:URLRequest = new URLRequest(dir);
  4. var loader:Loader = new Loader()
  5. loader.load(request);
  6. //la comprobacion es por si es el primero para que no de error
  7. if (CualEstaCargado !="")
  8.         Container.removeChild(Container.getChildByName(CualEstaCargado));
  9.  
  10. Container.addChild(loader);
  11. }
  12. Carga ("menu1.swf",c1)
  13. Carga ("menu1_btn1.swf",c2)
  14. Carga ("foto1.swf",c3)  
  15. c1.addEventListener(MouseEvent.CLICK,clicoc1);
  16. private function clicoc1(e:Event){
  17.         var cual:String;
  18.         cual=e.target.name.substr(4,str.length-3) ;
  19.         cual="menu"+cual+"_btn"+cual+".swf";
  20.         Carga(cual,c2);
  21.         CualEstaCargado=cual;
  22. }
  #11 (permalink)  
Antiguo 12/12/2008, 05:46
 
Fecha de Ingreso: noviembre-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Respuesta: Cargar swf desde flash cs3

Creo que lo he resuelto!

function Carga(dir:String,Container)
{
var request:URLRequest = new URLRequest(dir);
var loader:Loader = new Loader()
loader.load(request);

try
{
Container.removeChildAt(0);
}
catch(e:RangeError)
{
//trace("se produjo una excepcion : " + e);
}


Container.addChildAt(loader, 0);
}

Carga ("menu1.swf",c1)
Carga ("menu1_btn1.swf",c2)
Carga ("foto1_btn1.swf",c3)

c1.addEventListener(MouseEvent.CLICK,clicoc1);

function clicoc1(e:Event){
var cual:String;
//trace("e.target.name->" + e.target.name);
cual=e.target.name.substr(3,4) ;
var fichero:String = "menu1_btn"+cual+".swf";
//trace("fichero-->" + fichero);
Carga(fichero,c2);
}


Poniendo ese código he podido reemplazar los archivos.

Mi caso es que estoy haciendo un curso de flash CS3 Web, y el profesor me esa diciendo que es mejor que programe con AS2 xq el AS3 es para proyectos mucho más grandes, ¿ Qué me recomendáis? Es que después de pagar 1200€ por el curso, quiero hacer webs sencillas también con As3, xq en el futuro no sé si desaparecerá el As2 o se quedará atrás...

Os agradezco vuestras contestaciones!
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 22:53.