Comunidad de diseño web y desarrollo en internet online

Llamar a una función de SWF externo

Citar            
MensajeEscrito el 13 Dic 2011 09:14 am
Hola a todos!

Antes que nada, deciros que he estado mirando antes por el foro ... porque me da hasta cosa hacer la pregunta puesto que es algo básico y de lo que ya se habló en el foro, pero he probado cosas y no me funciona!

El caso es que tengo una película principal. En esta película cargo un SWF externo. Este swf externo tiene una función a la que le debo pasar un entero y en base a ese entero me carga un fichero XML u otro.

Aunque el código no me da error, me carga el fondo del SWF pero los contenidos NO. Os pongo el código de mi película principal que uso para crear el Loader y cargar en él el SWF.

Código ActionScript :

function menu_clic(evt:MouseEvent, id:int):void {
   // creamos el MC vacío donde cargaremos el contenido.   
   contenedor.x = 100
   contenedor.y = 100
   contenedor.load(new URLRequest("flash/contenidos.swf"));   
   this.addChild(contenedor);
   MovieClip(contenedor).iniciar(id);
      
}


Es una función que ejecuto al hacer clic sobre el menú principal de la web en desarrollo. Le paso el ID y finalmente llamo a la función INICIAR pasándole dicho ID.

Os pongo aquí también la función INICIAR que está en la película secundaria:

Código ActionScript :

function iniciar(op:int) {
   opcion = op;
   var loader:URLLoader = new URLLoader();
   var request:URLRequest = new URLRequest("xml/paginas.cfm?idopc=" + opcion);
   loader.load(request);
   loader.addEventListener(Event.COMPLETE, onCompleteXML);
   loader.addEventListener(ProgressEvent.PROGRESS, onProgress);
}


Si por ejemplo pongo en la película secundaria la siguiente instrucción: iniciar(1), me ejecuta bien la película y me carga el XML y todo ... el problema es que no soy capaz de hacer esto desde la película principal.

Espero puedan ayudarme ...

Un saludo y gracias siempre.

Por mariamm

10 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 13 Dic 2011 09:16 am
Ah!

El comentario "// creamos el MC vacío donde cargaremos el contenido. " puede dar lugar a equivocaciones, es que ahí justo tenía la instrucción siguiente:

Código ActionScript :

var contenedor:Loader = new Loader();


pero la saqué fuera de la función y olvidé quitar el comentario!

Gracias!

Por mariamm

10 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 13 Dic 2011 10:39 am
la funcion solo la podes llamar cuando haya terminado la carga del swf.

Código ActionScript :

function menu_clic(evt:MouseEvent, id:int):void {
   
   contenedor.contentLoaderInfo.addEventListener(Event.COMPLETE, handlerComplete);
   
   contenedor.x = 100
   contenedor.y = 100
   contenedor.load(new URLRequest("flash/contenidos.swf"));   
   this.addChild(contenedor);     
}

function handlerComplete(e:Event):void
{
   var mc:MovieClip = e.target.content as MovieClip;
   mc.init(id);
}



Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 13 Dic 2011 10:54 am
Uffffff!!!! Muchísimas gracias!! tienes razón ... antes tiene que estar cargado ... de verdad, no sabeis la cosa que me da preguntar cosas aquí con el nivelazo que teneis ... pero de verdad me estais ayudando una barbaridad!!!!

Mil millones de gracias! ojalá y yo pudiera también ayudar a la gente que pregunta! Espero ir mejorando mi nivel!

Por mariamm

10 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 13 Dic 2011 12:04 pm
hola a todos

tengo una pregunta y quisiera que alguien me ayude.

tengo un menu con botones y cada boton llama a un swf, el problema es que cuando le doy click a un boton carga la peli y si le doy click a otro boton carga tambien pero la anterior no desaparece.

grax de antemano

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Dic 2011 12:40 pm

Stevencb escribió:

hola a todos

tengo una pregunta y quisiera que alguien me ayude.

tengo un menu con botones y cada boton llama a un swf, el problema es que cuando le doy click a un boton carga la peli y si le doy click a otro boton carga tambien pero la anterior no desaparece.

grax de antemano



No va a desaparecer al menos que vos hagas algo.

si cargas en un contenedor seria asi:

Código ActionScript :

while (contenedor.numChildren > 0) contenedor.removeChildAt(0);
contenedor.addChild(nuevoSWF);



Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 13 Dic 2011 12:42 pm
Imagino que antes de hacer clic sobre el botón para que te cargue la segunda película tendrías que eliminar la película anterior con nombreclip_a_borrar.removeChild() ... es una idea

Espero que te oriente

Por mariamm

10 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 13 Dic 2011 02:51 pm
mmmmmmmmm ok

pero no esta en un contenedor sino en un fotograma y el boton esta programado para ir al fotograma y ya ovbio muestra la peli

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Dic 2011 03:49 pm
Chequen este es mi codigo:

Para llamarlo en el fotograma.-

var loader1:Loader = new Loader();
loader1.load(new URLRequest("page2/lacteos.swf"));

loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, insertMovie1);

function insertMovie1(evt:Event):void{

addChild(loader1);
}

y para el boton.-

function myButtonLacteos(eventObject:MouseEvent){
gotoAndStop(2);

}
myLacteos.addEventListener(MouseEvent.CLICK,myButtonLacteos);

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2011 06:41 pm
hola ya solucione lo del swf lo tuve qe cargar en un contenedor

pero ahora tengo otro problema

tengo un menu principal que llama a un swf y dentro del dicho llama otro swf el problema es q en el menu principal cargo la peli pero ya no carga la que esta dentro de la peli me sale "no se encuentra la url"

que puedo hacer

grax

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2011 06:52 pm
desde donde lo probas a esto?


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 14 Dic 2011 06:55 pm
gracias por responder

lo llamo desde el principal y ahi me muestra el error
supongo que es cosas de ruta pero no tengo ni idea de como solucionarlo

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2011 07:03 pm
donde esta el principal y donde los demas?


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 14 Dic 2011 07:06 pm
mmmmmmmm como te digo
ok
el principal es el index ok
ahi ahi un boton "Lacteos" q llama a la peli
y dentro de esa peli
hay botones de anterior siguiente
y ahi se carga la otra peli

aver si me etendes

grax por responder

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2011 07:10 pm
tonces lo estas probando desde un index.html???
si en la misma capeta donde esta el index.html hay una carpeta donde estan todos los swf, para cargar tenes q pasarle la ruta relativa en el loader.

loader.load(new URLRequest("carpetaSWF/miSeccion.swf"));


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 14 Dic 2011 07:12 pm
perdon perdon te explique mal
no es index

todo es flash
disculpa de verdad

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2011 07:15 pm
y el principal y los demas swf estan en la misma carpeta?



eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 14 Dic 2011 07:18 pm
pongamoles numero ok

dentro de la carpeta "1" esta principal
dentro de la carpeta "1" esta la carpeta "2"
dentro de "2" esta la peli
dentro de "2" esta la carpeta "3"
y dentro de "3" esta la otra peli

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2011 07:23 pm
Asi se entiende mejor

Para cargar a cualkier peli desde cualkier lugar tenes q dar la ruta como si la cargaras desde la carpeta donde esta ubicado el principal.

x ej:
"principal" carga "peli1" ----> desde "principal" pasas la ruta "carpeta2/peli1.swf"
"peli1" carga "peli2" ---> desde "peli1" pasas la ruta "carpeta2/carpeta3/peli2.swf"



Lo mejor seria tener todos los swf en una misma carpeta



Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 14 Dic 2011 07:26 pm
mmmmmmmmm
ok

huy esta dificil como te dije el segundo tiene anterior y siguiente y en cada fotograma hay una peli distinta

entonces en el principal otro contenedor a parte para llamar la ultima peli?

grax por tus respuestas

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2011 09:30 pm
Lo mejor seria tener todos los swf en una misma carpeta


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 14 Dic 2011 09:42 pm
ok grax aver como me va

saludos

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Dic 2011 10:25 am
eXe muchas gracias lo q me dijiste me sirvio de orientacion
para darme cuenta de las rutas

grax de nuevo

saludos!!!

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.