Comunidad de diseño web y desarrollo en internet online

Problema intentando hacer saltos entre 3 mc's

Citar            
MensajeEscrito el 02 Abr 2007 01:23 pm
Hola a todos

Llevo pegándome con este problema una semana y pese a que me he leído un montón de post en este foro y he probado a aplicar varias de las soluciones o consejos que se ofrecen, ninguno me ha funcionado.

El tema es: tengo un swf principal que hace las veces de home de la web. Este swf contiene el menú con las distintas opciones de la web y distintos mc que hacen de contenedores dispersos por la timeline, a los que voy mediante saltos cuando se selecciona alguna de las opciones del menú y que cargan la sección elegida (otro swf) mediante loadmovie. Bien, en este swf que hace de home se muestra el menú, como ya he dicho, y una serie de "banners" que no son más que pequeños anticipos de los contenidos a los que podemos acceder a través del menu, cada uno de estos banners es un mc contenedor que carga un swf. Mi problema viene cuando quiero que al pinchar sobre uno de estos banners, por ejemplo "servicios", se me cargue el swf de servicios en un frame concreto y que además es un frame distinto del que se me cargaría si elijo la opción servicios del menú principal, osea si elijo la del menú principal, me cargaría el swf desde el frame 1 y si pincho en este banner lo cargaría desde el frame 30. He probado todo lo que se me ha ocurrido, creí que con una variable global solucionaría el problema pero directamente ignora la variable, lo mismo da que la ponga o que no. Lo más que he conseguido hacer es que al pinchar el banner se vaya a ese frame 30 pero entonces tb se va al frame 30 desde la opción del menú principal.

¿Alguna idea? Mis conocimientos de AS no dan más de si >.< Y es bastante frustrante porque no creo que sea un problema difícil de solucionar, pero no soy capaz. He visto problemas similares en algún post de este foro pero la solución allí expuesta no me ha servido o no he sabido aplicarla correctamente.

Saludos

Por Juaner

1 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 02 Abr 2007 10:58 pm
Paso A:
1.- Toma un curso de diseño web
2.- Toma otro curso de diseño web
3.- Toma un nuevo curso de diseño web
Hasta aquí sabrás que los frames no son la respuesta.

Paso B:
1.- Preparate a diseñar tu sitio.
2.- Visualiza tu sitio y dibújalo
3.- Planea que demonios hace que cosa, pues un botón no debe hacer 3 cosas al mismo tiempo.
4.- Repite:los frames no son la solución,los frames no son la solución,los frames no son la solución,los frames no son la solución

Solución a tu problema respetando tus frames (De ser posible eliminalos)
1.- Ve tu Flash (El cual no tengo ni la menor idea de como funciona, a la tercera palabra me confundiste)
2.- Si no puedes con Action Script, puedes hacerlo con JavaScript.
3.- Para invocar una funcion de javaScript desde flash, a tu botón le pones algo como lo siguiente en el evento onRelease

Código :

getURL("javascript:actualizarFrameContenido(uno.html)")

Suponiendo que tenemos un frame de contenido, el cual cambia con la función actualizarFrameContenido() y lo mandamos a la página uno.html
Para mas información:
http://www.google.com.mx/search?q=frames+javascript
http://www.desarrolloweb.com/articulos/1146.php
http://www.desarrolloweb.com/articulos/1164.php

Por bryanisimo

664 de clabLevel



Genero:Masculino  

Geek

firefox
Citar            
MensajeEscrito el 03 Abr 2007 07:09 am
No hace falta que me respondas como si fuese subnormal. Te agradecería la última parte de tu post por molestarte en escribirla aunque no tenga absolutamente nada que ver con flash ni con mi pregunta pero como no me gusta que me tomen por tonto no lo haré.

Donde pongo frames me estoy refiriendo a FOTOGRAMAS de la película flash, obviamente, no a frames de html, que por cierto cualquiera con dos dedos de frente no usaría para diseñar nada a estas alturas. A santo de qué voy a postear en la sección de actionscript si no. Si los llamo frames es porque me he tirado mucho tiempo trabajando con programas de edición de video en inglés y me sale más natural frame que fotograma. Mi sitio web está diseñado, dibujado y casi terminado, 100% en flash porque así me han obligado a hacerlo (yo habría hecho una maquetación 100% CSS y a correr) y solo me faltan por solucionar flecos como mi duda de arriba, que no es un botón que hace 3 cosas (lol) son dos botones distintos (A y B) cada uno en un swf y que han de llevar a distintas partes de un tercer swf (C) estando C y B en mc contenedores dentro del swf de A. Ahora mismo esos banners están como banners sin función de botón porque no soy capaz de apuntarlos a donde quiero.

Supongo que en lugar de pararte a leer dos veces mi post es más divertido intentar ridiculizarme. Si no lo habías entendido bastaba con decir que no he explicado bien mi problema.

Llevo más de un año pasándome por Cristalab a aprender con los tutoriales y a resolver mis dudas usando la búsqueda del foro, esta es la primera vez que pregunto algo porque es la primera vez que no soy capaz de solucionar el problema pegándome yo solo con él, a pesar de que muy probablemente sea una chorrada que no se merezca el tiempo que llevo intentando solucionarla, pero descuida que ya no preguntaré más.

Por Juaner

1 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 03 Abr 2007 04:22 pm
Bien, creo que hubo un mal entendido, mi intención no era ridiculizarte en ningún momento, solo hacer énfasis en lo de los frames html, por que como lo dices nadie con dos dedos de frente los usaría.

Aclarado esto, espero poder ayudarte ^^ y a ver si yo entendí bien. Supongo que tenemos algo como esto:

-A tiene dentro a B y C
-C tiene que cambiar con los botones de A y B.
-Entonces al cargar tu swf en C con una función global declarada en A no debe tener mayor problema

Código :

_global.cargarEnC=function(pelicula_a_cargar):Void{
   var llevo:Number = 0;
   function chekarporciento() {
      llevo =( _root.c_mc.getBytesLoaded()/_root.c_mc.getBytesTotal()*100);
      if (llevo>=100) {
         clearInterval(checador)
         _root.c_mc.gotoAndStop(543);
         _root.c_mc.visible = true;
      }else{
         //Aquí puedes poner la animación de un cargador, o algo así
         trace("Llevo el "+llevo+"% cargado");
      }
   }
   _root.c_mc.loadmovie(pelicula_a_cargar);
   _root.c_mc._visible = false
   checador = setInterval(chekarporciento, 40);
}


Y esa la invocas desde cualquier mc cargado en A (Llamese C o B o el mismo A) algo asi:

Código :

cargarEnC("carpeta/mipelicula.swf");

Por bryanisimo

664 de clabLevel



Genero:Masculino  

Geek

firefox
Citar            
MensajeEscrito el 04 Abr 2007 06:33 am
Hola de nuevo

Disculpa mi calentón también, era muy temprano ayer cuando leí tu mensaje y no se había puesto en marcha aún mi máquina del buen humor ;p

Voy a probar durante esta mañana con la solución que me has propuesto y ya te comento como me ha ido, aunque así a priori yo creo que funcionará, había probado alterando el estado de una variable global pero no se me había ocurrido probar con uan función global :p

Gracias por tu ayuda :)

Por Juaner

1 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 04 Abr 2007 03:54 pm
Ok, espero que te salga bien tu flash, y si haces eso de la variable global, tienes que tener algo que este checando en que momento cambia y esa funcion te consume recursos de manera permanete durante la ejecución de tu Flash

Por bryanisimo

664 de clabLevel



Genero:Masculino  

Geek

firefox

 

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