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

Problema con esta función

Estas en el tema de Problema con esta función en el foro de Flash y Actionscript en Foros del Web. Hola, desde hace unos días estoy encallado con esta función. No se mucho hiciera de programación por eso lanzo un socorro. La función en cuestión ...
  #1 (permalink)  
Antiguo 12/06/2007, 14:47
 
Fecha de Ingreso: diciembre-2005
Mensajes: 5
Antigüedad: 18 años, 11 meses
Puntos: 0
Pregunta Problema con esta función

Hola, desde hace unos días estoy encallado con esta función. No se mucho hiciera de programación por eso lanzo un socorro.

La función en cuestión es la siguiente:

//Creamos un prototipo con una función de easing
//al que pasaremos como "valor" la escala de ampliación del botón
MovieClip.prototype.Ampliar = function(valor) {
this.onEnterFrame = function() {
this._xscale = valor-(valor-this._xscale)/1.1;
this._yscale = this._xscale;
};
};
//Creamos un array de 6 elementos y asignamos valores
//El elemento 0 lo dejo en blanco porque no lo voy a utilizar
Enlaces = new Array();
Enlaces = ["","dirección web","dirección web2", "dirección web3", "dirección web4","dirección web5"];
//Creo un bucle del 1 al 5
for (i=1; i<6; i++) {
//Btn toma el nombre de cada uno de los botones
Btn = this["Boton"+i];
//Dentro de cada boton creo una variable
//de la que extraigo los valores del array
Btn.Link = Enlaces[i];
Btn.onRollOver = function() {
//Aplicamos el "easing" a un valor de "250"
this.Ampliar(250);
}
Btn.onRollOut = function() {
//Restauramos el boton a su estado normal
this.Ampliar(100);
}
Btn.onRelease = function() {
getURL(this.Link);
}
}

El problema es que esta botonera no quiero que me haga un getURL a la direcciones que hay encima en ENLACES sino que me gustaría que dependiendo de donde estoy situado (como es el caso) me hiciera un loadMovie.
Este loadMovie me tendría que abrir un swf dependiendo de donde este situado.

Ahora la funciona hace:
Si estoy en boton1 abre el primer vinculo, si estoy en boton2 me abre el segundo y así hasta el boton6

Sabrían como hacerlo para que estanco encima del boton1 me hiciera un loadmovie("a.swf", 1) , estando en el boton2 hiciera loadmovie("b.swf", 2) etc.????

Muchas gracias por todo
  #2 (permalink)  
Antiguo 13/06/2007, 08:22
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 22 años, 10 meses
Puntos: 4
Re: Problema con esta función

creo que tendrías q usar un movieclip vacío ya sea que lo hagas con AS o lo coloques en tu escenario y despues en lugar de usar esto:

Btn.onRelease = function() {
getURL(this.Link);
}


tendrías que usar esto
Btn.onRelease = function() {
mcVacio.loadMovie(this.link,this.nivel)

}
Es decir lo mismo y el nivel se lo asignas con i
Y en el array en lugar de poner nombre.html poner nombre.swf

y quizá debas hacer algo como asignar la variable nivel usando el valor de i igual como lo haces para el nombre de la instancia.

Espero me entiendas si no deja lo pruebo
__________________
Temiqui Iztoc Cualtlia Elhuayotl
  #3 (permalink)  
Antiguo 14/06/2007, 09:50
 
Fecha de Ingreso: diciembre-2005
Mensajes: 5
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Problema con esta función

Ei muchas gracias por tu respuesta.

Podrias mirar si esta bien, es que no me funciona

MovieClip.prototype.Ampliar = function(valor) {
this.onEnterFrame = function() {
this._xscale = valor-(valor-this._xscale)/1.1;
this._yscale = this._xscale;
};
};

Enlaces = new Array();
Enlaces = ["b.swf","c.swf","hola.swf"];


for (i=1; i<13; i++) {

Btn = this["Boton"+i];

Btn.Link = Enlaces[i];
Btn.onRollOver = function() {

this.Ampliar(350);
}
Btn.onRollOut = function() {

this.Ampliar(100);
}
Btn.onRelease = function() {
mcVacio.loadMovie(this.link,this.nivel)
}
}


No he entendido mucho lo que me has comentado y lo he sustituido por el GETURL.

gracias
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:02.