Comunidad de diseño web y desarrollo en internet online

Remplazar el GetUrl por GotoandStop en un menu XML

Citar            
MensajeEscrito el 11 Jul 2009 01:56 pm
Hola tengo un menu bastante complejo modificable via XML
El menu esta planteado de forma que los links apunten a direcciones URL externas. Pero me interesaria conseguir que los vinculos linkearan a un frame determinado de la misma pelicula.

El GetUrl que tengo es este:
getURL(menuArray[this._parent._parent.nr].getMenuLink, menuArray[this._parent._parent.nr].getWindow);

Y los enlaces en el fichero XML son asi:
<item link="url" window="_self" >LINK 01</item>

Debe de haber una manera para hacer que cada vinculo del menu xml pueda apuntar a un determinado frame de la pelicula y asi usar el menu internamente en el flash y a la vez si hay que vincular algo externamente que tambien pueda hacerse.

¿Alguien sabe como ayudarme?
¡Gracias por adelantado!

Por DemianFox

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jul 2009 11:08 pm
Cambia en el XML el atributo link por el numero de fotograma en el caso que lo requiera, después en tu código haces un chequeo si el parametro link es un número, en caso que lo sea vas a ese número de fotograma y en caso que no lo sea es que se trata de una página y la abres:

Código ActionScript :

//---Guardar el valor del link en una variable
var link:String = menuArray[this._parent._parent.nr].getMenuLink;

//---Guardar en una variable si el parámetro link es un número o no
var notNumber:Boolean = isNaN(Number(link));

//---Si no es un número abrir la página
if(notNumber){

    getURL(link, menuArray[this._parent._parent.nr].getWindow);

//---Si es un número ir al fotograma del movieClip deseado (Debes situar la ruta a tu movieClip)
}else{

    tu_movieClip.gotoAndStop(Number(link));

}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 13 Jul 2009 02:34 am
Pues funciona!! :cool:
Me ha servido muchísimo! Muchas gracias!

Por DemianFox

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Jul 2009 05:15 am
Pues al final no me funciona el codigo final en el submenu.
¿Alguien podria hecharle un vistazo a esto? no logro que los links direccionen a un frame concreto.

Este es el codigo alrededor del GetURL:

Código :

mcsub._x = sumwSubmenu;
sumwSubmenu += mcsub.mcBackSubmenu._width;
                  
mcsub.mcBackSubmenu.but.onPress = function():Void 
{
playSound(clickSound, "click");
};
                  
mcsub.mcBackSubmenu.but.onRelease = function():Void  
{
                     
getURL(menuArray[oMenu].getSLA[k], menuArray[oMenu].getSWA[k]);

mprev = msel;
msel = selectedMenu;
HOME.all["mcBut"+mprev].mcBut.gotoAndStop(1);
HOME.all["mcBut"+mprev].mcTxt.setColor(menuTextColor);
};
                  
mcsub.mcBackSubmenu.but.onRollOver = function():Void 
{
playSound(overSound, "over");
this._parent._parent.mcTxt.setColor(overSubmenuTextColor);
this._parent.mcOverSub.fade("in", 25);
};


La función GetUrl es esta:
getURL(menuArray[oMenu].getSLA[k], menuArray[oMenu].getSWA[k]);

Y necesito que sea capaz de direccionar a un frame concreto, no a un movieclip (GotoandStop)
El XML donde se debe dar la orden es así:

Código :

?xml version="1.0" encoding="utf-8"?>
<options>
<menu name="Inicio" link="frame" window="1">
</menu>
<menu name="Cosas" link="frame" window="2" >
   <item link="frame" window="3" >Acción</item>
   <item link="frame" window="4" >Sci-fi</item>
   <item link="frame" window="5" >Fantasia</item>
</menu>
</options>


El primer nivel del menu si, que son estos: <menu name="Inicio", lo acabe solucionando asi:

Código :

if(menuArray[this._parent._parent.nr].getMenuLink=="frame"){
var Frame=menuArray[this._parent._parent.nr].getWindow
_root.gotoAndStop(Frame)
}else{
getURL(menuArray[this._parent._parent.nr].getMenuLink, menuArray[this._parent._parent.nr].getWindow);


pero el submenu tiene un codigo aparte, os he pegado el GetUrl del submenu más arriba y desconozco como solucionar ese problema!! ya que el codigo es bastante distinto, ya he probado de mil maneras, pero nada.

¡En fin, muchas gracias!
Un saludo,

Por DemianFox

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Jul 2009 08:20 pm
No entiendo la organización de tus elementos, y hay una discordancia en una pregunta que haces:

DemianFox escribió:

Y necesito que sea capaz de direccionar a un frame concreto, no a un movieclip (GotoandStop)


Cuando te diriges a un frame, dicho frame pertenece a un MovieClip los métodos gotoAndStop y gotoAndPlay son de la clase MovieClip, así que debes explicar mejor lo que intentas hacer.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 26 Ago 2009 07:04 pm
Hola. Yo también tengo un menú similar y tengo problemas para adaptar la solución que has escrito 'elchininet' a 'DemianFox', mi menú es un arreglo de fotos que funciona 100% bien con URL y va así:

tn_group["tn" + i].tn_button.onRelease = function ()
{
getURL(url_list[this._parent.tn_no], url_target_list[this._parent.tn_no]);
};

En XML:
<thumbnail filename="01.png" url="http://www.google.com" target="_blank"/>

Yo quiero hacer exactamente lo mismo que antes se ha dicho, de que mande a un _root.gotoAndStop(Number(link) solo que por más que muevo la sintaxis que escribiste, no logro adaptarla a mi manera de llamar el GetURL y mis variables. APoyame con esto porfavor estoy atorado con un proyecto. Y sé que puede ser algo simple y soy novato. Muchas Muchas Gracias. :D

Por pacoechauri

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Ago 2009 08:25 pm
En el caso tuyo que el movieClip al que deseas ir es la raiz, sólo tienes que hacer el gotoAndStop al frame de la raiz, algo así:

Código ActionScript :

tn_group["tn" + i].tn_button.onRelease = function (){
    _root.gotoAndStop(Number(url_list[this._parent.tn_no]));
};


y en el xml

Código XML :

<thumbnail filename="01.png" url="10" />


Y en el parámetro url sitúas los frames que deseas dirigir cada botón.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 26 Ago 2009 11:25 pm
ERES GRANDE !! Gracias.

Por pacoechauri

1 de clabLevel



 

msie8
Citar            
MensajeEscrito el 07 Oct 2010 09:41 pm
hola amigos del foro tengo un problema bastante similar con xml editable ya he taratade componer la sntaxis qeu ofreces pero no corre tampoco me devuelve error pongo el codigo para que se observe..
this["button"+i].open_url = my_xml.firstChild.childNodes[i].attributes.url;
this["button"+i].onRelease = function() {
if (this.open_url != undefined) {
getURL(this.open_url);
}
en el xml <menu text="TUTORIALS">
<sub text="DESIGN" url="http://www.ffiles.com" />
<sub text="DEVELOPMENT" url="http://www.ffiles.com" />
<sub text="DYNAMIC" url="http://www.ffiles.com" />
saludos y espero me puedan ayudar con este codigo

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie7
Citar            
MensajeEscrito el 08 Oct 2010 03:13 pm
@rickume, postea los códigos de actionscript y xml entre tags para poderlos leer:

Código :

[as]
//---Código actionscript
[/as]

[xml]
//---Código xml
[/xml]

Postea el error que te lanza y postea el código actionscript que encierra al trozo de código que has posteado.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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