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

Menu SWF segun URL

Estas en el tema de Menu SWF segun URL en el foro de Flash y Actionscript en Foros del Web. Hoal a todos. Soy nuevo en el foro y un patán con Flash (ActionScript=0), pero he buscado sin encontrar la respuesta a lo siguiente. En ...
  #1 (permalink)  
Antiguo 12/08/2006, 13:09
 
Fecha de Ingreso: agosto-2006
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
Menu SWF segun URL

Hoal a todos. Soy nuevo en el foro y un patán con Flash (ActionScript=0), pero he buscado sin encontrar la respuesta a lo siguiente.
En el curro me "ha tocado la china" de hacer la web, la estoy desarrollando en local. Queremos que al pinchar sobre los botones, la pagina que se me cargue vuelva a llamar al swf, pero a un frame determinado.
El script que uso es este (Lo encontre en FAQS del foro)

on (release) {
getURL("tu-pagina.html", "nombredelframe");
}
Segun el cual el boton me abre la pagina y se iria al frame determinado(¿la peli inicial o la de la nueva pagina?, efectivamente me abre la pagina en otra ventana, me carga el swf, pero no va al fotograma X, se queda al inicio (Tanto en la peli inicial como en la de la pagina nueva).
Supongo que esto es demasiado basico, pero no tengo ni idea.
Creo que lo que debia hacer es usar una funcion que evalue la url en la que me encuentro y segun eso decida a que fotograma debe ir, ¿Como se hace eso?
Gracias por todo y perdonad si es demasiado simple.
Gracias
  #2 (permalink)  
Antiguo 12/08/2006, 13:42
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola ArtemioSevilla:
Bienvenido al Foro.
Te sugiero que lo cargues en un MC vacío, de ese modo lo puedes controlar mejor.
Comúnmente se cae en un error al querer cargar una película e ir a un fotograma determinado con éste código:
on(release){
mc_vacio.loadMovie("nombre.swf");
gotoAndPlay(número del frame);
}
el código gotoAndPlay(número del frame), se activa antes de que se cargue la película por lo tanto no funciona, se tiene que hacer una precarga simple colocando el código así:
En éste ejemplo creamos el MC vacío.
on(release){
clip_mc = this.createEmptyMovieClip("holder", 1);
clip_mc.loadMovie("peli2.swf");
this.onEnterFrame = function() {
if (clip_mc.getBytesLoaded() != 0 && clip_mc.getBytesLoaded() == clip_mc.getBytesTotal()) {
trace("cargo");
clip_mc.gotoAndPlay(5);//aquí va el número del frame dode se quiere ir
delete this.onEnterFrame;
}
};
}

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 13/08/2006, 03:03
 
Fecha de Ingreso: agosto-2006
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
No debi explicarme bien

Lo primero gracias por tu colaboracion, Bandit.
Lo que quiero, y no debi explicarme bien, es lo siguiente.
No se trata de una pagina flash, en la que se vayan cargando una pelicula sobre otra, sino de una pagina sobre php que me carga documentos html y en la que va integrado un menu .swf
Creo un swf con un menu, en la que cada fotograma contiene un estado determinado de los botones (por ejemplo, frame 1 boton "inicio" activado resto botonesdesactivado, frame 2 boton "empresa" activado y el resto de botones desactivado, etc...) Si hago click sobre el boton "empresa" me carga en esa misma ventana la pagina html que le he pedido "empresa.html", y en su posición el menu.swf, pero al cargar de nuevo todo el contenido html de la pagina vuelve a cargar desde cero el menu.swf y se me quedará en el primer frame. ¿Como puedo hacer para valorar en el primer frame en que URL me encuentro y determinar a que frame de la pelicula salte con los estados de boton que m interesan?
Creo que ahora me explique con mas precisión.
Si ves alguna luz te lo agradezco, y gracias por dedicarme parte de tu tiempo.
Un saludo.
  #4 (permalink)  
Antiguo 13/08/2006, 11:12
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Si tú tienes tu página en frames y en el frame de la izquerda está el menú, al frame donde se va a cargar las diferentes secciones tienes que ponerle un nombre, por ejemplo name="main".
En el código de los botones el siguiente código:
on(release){
getURL("nombre.html", "main");
}
De éste modo solamente va a cargar las secciones y no tiene porque cargar toda la página de nuevo.

Espero haberte sidode ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 14/08/2006, 03:49
 
Fecha de Ingreso: agosto-2006
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
No son frames, es un sitio dinamico bajo php con Joomla

Hola de nuevo Bandit, y gracias por responderme.
La cuestion es que no está echa en frames, sino que estoy utilizando un CMS, concretamente Joomla, ya que mi jefe quiere actualizar directamente la pagina con las ofertas de alojamiento y que se vaya creando un historico, ademas de tener un servicio de e_postales para los clientes del balneario. Todo esto está ya conseguido, pero está empeñado en que el menú sea en flash (Como el dice "quiero que tenga los mismos dibujitos que la pagina antigua").
Si conoces algo de joomla sabras que el trabajo con frames es excesivamente complejo por lo que pense en hacerlo a traves del modulo Wrapper que he desestimado. Asi que la opcion que me queda es usar un menu Flash identico para todas las paginas que me cargue joomla, o la opcion que te comentaba, sobre si es posible un script en Flash que evalue la Url en la que se encuentra, para a partir de ahi definir una funcion que me diga a que parte de la peli debo ir.
He visto tu trabajo en tu web, y veo que tienes conocimientos sobrados para orientarme en esto, pero si ves que es excesivamente complejo dimelo.
Te agradezco de nuevo el tiempo que empleas en ayudarme.
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 16:45.