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

Convertir MC en botones

Estas en el tema de Convertir MC en botones en el foro de Flash y Actionscript en Foros del Web. Tengo un problemilla: en el escenario tengo 5 MC, llamados "boton1", "boton2", etc... y quiero por código transformarlos en botón para que ejecuten acciones al ...
  #1 (permalink)  
Antiguo 23/06/2011, 04:22
Avatar de sciffo  
Fecha de Ingreso: abril-2002
Mensajes: 41
Antigüedad: 22 años
Puntos: 2
Pregunta Convertir MC en botones

Tengo un problemilla: en el escenario tengo 5 MC, llamados "boton1", "boton2", etc... y quiero por código transformarlos en botón para que ejecuten acciones al clickar sobre ellos. En el único fotograma de la película tengo el siguiente código:

numero = 5;
for (i=1; i<=numero; i++) {

_root["boton"+i].Release = function() {
trace("soy el boton"+i);
};

}

y sólo funciona el último botón.... ¿que hago mal?
Muchas gracias
__________________
Hay una gran diferencia entre conocer el camino y andar el camino
  #2 (permalink)  
Antiguo 23/06/2011, 11:33
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Convertir MC en botones

Hola sciffo:
El código está mal escrito.
Debe ser así:
Código actionscript:
Ver original
  1. var numero = 5;
  2. for (var i = 1; i<=numero; i++) {
  3.     _root["boton"+i].onRelease = function() {
  4.         trace("soy el " +this._name);
  5.     };
  6. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 23/06/2011, 23:07
Avatar de sciffo  
Fecha de Ingreso: abril-2002
Mensajes: 41
Antigüedad: 22 años
Puntos: 2
Respuesta: Convertir MC en botones

Gracias Bandit por tu respuesta. Ya me había dado cuenta del "onRelease". Sigue igual... mirando el depurador parece que sólo conserva la referencia del último número "i" (boton5) y este es el único botón que funciona. Parece que pasa del resto
__________________
Hay una gran diferencia entre conocer el camino y andar el camino
  #4 (permalink)  
Antiguo 24/06/2011, 16:28
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Convertir MC en botones

Con el código que te dí, hace el trace de cada botón que es pulsado.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 27/06/2011, 00:29
Avatar de sciffo  
Fecha de Ingreso: abril-2002
Mensajes: 41
Antigüedad: 22 años
Puntos: 2
Respuesta: Convertir MC en botones

Hola Bandit,
Muchas gracias y disculpa pues tu código fuciona perfectamente. El caso es que pensaba que con esto ya funcionarian el resto de funciones que quiero que tengan los botones y no es así. Te incluyo el código que tengo y que no funciona:
Código:
var numero = 5;
for (var i = 1; i<=numero; i++) {
	var mycolor:Color = new Color(_root["boton"+i]);
	mycolor.setRGB(0xa70230);
	_root["boton"+i].onRelease = function() {
		trace("soy el "+this._name);
	};
	_root["boton"+i].onRollOver = function() {
		mycolor.setRGB(0xD38097);
	};
	_root["boton"+i].onRollOut = function() {
		mycolor.setRGB(0xa70230);
	};
}
Lo que quiero, además de que haga una acción, es que cambie de color mediante código,y esto no funciona. Disculpa por no incluirlo en el mensaje anterior.

Un saludo!
__________________
Hay una gran diferencia entre conocer el camino y andar el camino
  #6 (permalink)  
Antiguo 27/06/2011, 18:14
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Convertir MC en botones

Hola sciffo:
Sería mejor utilizar el setTransform().
Yo lo haría así:
Código actionscript:
Ver original
  1. objeto_color = new Object();
  2. function colorIn(mc) {
  3.     mycolor = new Color(mc);
  4.     objeto_color = {ra:ra, rb:211, ga:ga, gb:128, ba:ba, bb:151, aa:aa, ab:255};
  5.     mycolor.setTransform(objeto_color);
  6. }
  7. function colorOut(mc) {
  8.     objeto_color = {ra:ra, rb:167, ga:ga, gb:2, ba:ba, bb:48, aa:aa, ab:255};
  9.     mycolor.setTransform(objeto_color);
  10. }
  11. var numero = 5;
  12. for (var i = 1; i<=numero; i++) {
  13.     mycolor = new Color(_root["boton"+i]);
  14.     coltransf = new Object();
  15.     coltransf = {ra:ra, rb:167, ga:ga, gb:2, ba:ba, bb:48, aa:aa, ab:255};
  16.     mycolor.setTransform(coltransf);
  17.     _root["boton"+i].onPress = function() {
  18.         trace("soy el "+this._name);
  19.     };
  20.     _root["boton"+i].onRollOver = function() {
  21.         _root.colorIn.call(this,this);
  22.     };
  23.     _root["boton"+i].onRollOut = function() {
  24.         _root.colorOut.call(this,this);
  25.     };
  26. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #7 (permalink)  
Antiguo 28/06/2011, 00:30
Avatar de sciffo  
Fecha de Ingreso: abril-2002
Mensajes: 41
Antigüedad: 22 años
Puntos: 2
Respuesta: Convertir MC en botones

Hola Bandit,
Muchas muchas gracias!!! me fucionó perfecto!!!
Un saludo
__________________
Hay una gran diferencia entre conocer el camino y andar el camino

Etiquetas: botones
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:47.