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

sobre MC que son botones

Estas en el tema de sobre MC que son botones en el foro de Flash y Actionscript en Foros del Web. Hola tengo un problemilla. Resulta que he hecho unos botones bastante complejos que son un movie clip, y dentro de este en diferentes capas las ...
  #1 (permalink)  
Antiguo 22/08/2006, 06:15
 
Fecha de Ingreso: mayo-2006
Ubicación: Logroño
Mensajes: 86
Antigüedad: 11 años, 7 meses
Puntos: 0
sobre MC que son botones

Hola tengo un problemilla.

Resulta que he hecho unos botones bastante complejos que son un movie clip, y dentro de este en diferentes capas las acciones para roll over, roll out, on press, además de botones con otros clips on over que son los que actuan como botones y llaman a otras peliculas.
Estos botones tal cual funcionan perfectamente, pero en la pelicula principal tengo unas funciones con variables para mover una imagen de fondo, el codigo es el siguiente:

Código:
function scrollme(srcMC, xPos, yPos)
{
    var _l3 = srcMC._x;
    var _l5 = _l3 - xPos;
    srcMC._x = _l3 - _l5 / 45;
    var _l2 = srcMC._y;
    var _l4 = _l2 - yPos;
    srcMC._y = _l2 - _l4 / 45;
} // End of the function
var arrayIndex = 0;
var backgroundXpositions = new Array(-515, -706, -1118, -598, -862, -13, -686, -820);
var backgroundYpositions = new Array(-124, 39, 67, 95, 87, -1, -65, -259);
background.onEnterFrame = function ()
{
    scrollme(this, backgroundXpositions[arrayIndex], backgroundYpositions[arrayIndex]);
};
nav.b1.onRelease = function ()
{
    arrayIndex = 0;
    unloadMovieNum(5);
    unloadMovieNum(7);
    _root.loadclip = "nosotros.swf";
 };
Sin embargo si aplico esta funcion al boton, el clip interior del boton deja de funcionar y las variables lo hacen correctamente, pero todos los estados de roll over y demas no lo hacen.

¿hay alguna forma de solucionar este tipo de problemas y que funcione todo en la pelicula?

Muchas gracias,
  #2 (permalink)  
Antiguo 22/08/2006, 10:38
 
Fecha de Ingreso: agosto-2006
Mensajes: 159
Antigüedad: 11 años, 4 meses
Puntos: 4
Hola:

Puedes utilizar una opción que tendrás que adaptar a tus necesidades. Te hable de los prototipos.

Los prototipos los puedes usar como funciones generales añadidas a las que ya disponen.

Imagina que tienes 50 botones y los 50 tienen que hacer una determinada tarea cuando son cliqueados.¿Escribirás el mismo código para los 50 botones, 50 veces? Creo que no.

Un ejemplo práctico.

Tienes dos botones btn_mc1 y btn_mc2, que en realidad son MC.

Ahora esto:
Código PHP:
MovieClip.prototype.aumentar = function() {
    
this.onRelease = function() {
        
this._width += 10;
        
this._height += 10;
    };
};
btn_mc.aumentar();
btn_mc2.aumentar(); 
Pruebalo a ver si te sirve.
  #3 (permalink)  
Antiguo 23/08/2006, 03:03
 
Fecha de Ingreso: mayo-2006
Ubicación: Logroño
Mensajes: 86
Antigüedad: 11 años, 7 meses
Puntos: 0
Gracias André, eso es muy practico para lo que dices, para muchos botones, pero mi problema basicamente es otro,

y es que aunque las funciones que adjunto arriba funcionan correctamente para cada uno de los botones (MC) que le añado, los botones de dentro o las acciones de estos movie clips dejan de funcionar.

Si alguien sabe como arreglarlo...
  #4 (permalink)  
Antiguo 23/08/2006, 18:31
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 15 años, 10 meses
Puntos: 3
Al utilizar el evento onRelease (evento de botón) sobre un mc, este pierde las "características" de mc que posee (por eso no te funciona nada dentro del mc en cuestión). Lo que puedes hacer es luego de hacer lo que quieres destruir el evento onRelease, para restaurar las "características" del mc.
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #5 (permalink)  
Antiguo 23/08/2006, 19:06
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 11 años, 3 meses
Puntos: 0
En tu codigo veo un _root.loadclip = "nosotros.swf";

Si ese script lo incluyes a otro nivel obiamente deja de funcionar.

intenta utilizar _parent, en vez de root, asi lo haras mas general.
  #6 (permalink)  
Antiguo 24/08/2006, 04:37
 
Fecha de Ingreso: mayo-2006
Ubicación: Logroño
Mensajes: 86
Antigüedad: 11 años, 7 meses
Puntos: 0
Hola Goc00, eso que dices tiene mucho sentido y no se me había ocurrido, mil gracias!
Solo una cosa más, como sería el script correcto para destruir el evento "onRelease", estoy aprendiendo a partir de tutoriales y aqui ya me pierdo...

Gracias a todos por vuestra ayuda!
  #7 (permalink)  
Antiguo 24/08/2006, 16:55
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 15 años, 10 meses
Puntos: 3
delete nav.b1.onRelease;
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #8 (permalink)  
Antiguo 25/08/2006, 05:43
 
Fecha de Ingreso: mayo-2006
Ubicación: Logroño
Mensajes: 86
Antigüedad: 11 años, 7 meses
Puntos: 0
Gracias, Gocc!

Funciona a la perfección, estoy seguro que me será de gran ayuda a la hora de hacer botones a partir de MC.

Saludos
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 21:55.