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

Automatizar acciones

Estas en el tema de Automatizar acciones en el foro de Flash y Actionscript en Foros del Web. Hola ¿ Se puede poner acciones a los botones de manera dinámica, es decir, hacer un for(i=1;i<=50;i++){...} que introduzca las acciones de los botones con ...
  #1 (permalink)  
Antiguo 09/12/2005, 19:20
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Automatizar acciones

Hola

¿ Se puede poner acciones a los botones de manera dinámica, es decir, hacer un for(i=1;i<=50;i++){...} que introduzca las acciones de los botones con nombre de instancia 1 a 50 ?, las acciones sólo cambían en 1 parámetro o en el valor de 1 variable, que podría ser igual a i.

PD: El for tendría que generar automáticamente los movieclips con un createemptymovieclip, separados por 20 pixeles de distancia en la coordenada x.

¿ Se puede hacer todo esto ?

Muchas gracias
  #2 (permalink)  
Antiguo 10/12/2005, 10:41
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
claro...
aki un ejemplo sencillo:
- debes tener un MovieClip en la bilioteca con nombre de vinculacion 'boton'
- dentro de ese movieClip debes tener un campo de texto dinamico con nombre de instancia: 'texto'
y en un fotograma de _root escribe;
Código PHP:
for(i=0;i<50;i++){
    
//agregamos un boton por cada iteracion y haremos referencia a el mediante la viaable boton_ref
    
boton_ref attachMovie('boton','btn'+i,i,{_x:i*20});
    
//le ponemos el texto que queramos (podria ser: 'boton '+i )
    
boton_ref.texto.text i;
    
//cada boton tendra una variable ir_a
    
boton_ref.ir_a 'http://sitio.com/pagina'+i+'.html';
    
//cuando se haga click en el boton
    
boton_ref.onRelease = function(){
        
//ejecutamos la accion que querramos
        
trace('getURL(\''+this.ir_a+'\');');
    }
}
//
stop(); 
:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #3 (permalink)  
Antiguo 11/12/2005, 19:20
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Gracias luistar !!

Ahora lo que quisiera hacer es que cuando se sitúe el cursor sobre los números, estos cambien de color, así como si en el fondo fueran botones con sus respectivos estados.
  #4 (permalink)  
Antiguo 12/12/2005, 07:39
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
Cita:
Iniciado por Mauri1
Gracias luistar !!

Ahora lo que quisiera hacer es que cuando se sitúe el cursor sobre los números, estos cambien de color, así como si en el fondo fueran botones con sus respectivos estados.
solo tendrias que jugar con los eventos de boton

mimcboton.onRollOver = function(){ acciones } //sobre
mimcboton.onRollOut = function(){ acciones } //sale de encima
mimcboton.onPress = function(){ acciones } //presiones el boton del mouse
mimcboton.onRelease = function(){ acciones } //sueltas (click)
etc etc
tambien puedes jugar con evento de MovieClips

mimcboton.onEnterFrame , onMouseMove , onMouseUp , etc

con éstos últimos tienés más posibilidad de hacer efectos sin necesidad de interpolaciones...

pero tambien podrias hacer con interpolaciones...
lo primero que harias es crear efectos manualmente dentro del mc boton, interpolaciones de movimiento con efectos para tres estados principales (normal, sobre, presionado) y le pones un stop();
luego a las acciones
onRollOver le das gotoAndPlay(fotograma donde comienza la animacion)
onRollOut

para no liarme más con las explicaciones

otro ejemplo sencillo para simular estado de boton
solo agregale este codigo a donde convenga...
Código PHP:
boton_ref.onRollOver = function(){
    
this.texto.background true;
    
this.texto.backgroundColor 0xffff00;
}
boton_ref.onRollOut = function(){
    
this.texto.background false;

en este caso solo activamos el fondo del cuadro de texto y lo ponemos de color amarillo, al sacar el mouse desactivamos el fondo...

si quieres jugar con el formato del texto (color, fuente, tamaño, estilo, etc) tendrias que crear un objeto de tipo TextField.TextFormat y alli le modificas todas las propiedades que quieras...

opes nuevamente estoy liandome con el tema...

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #5 (permalink)  
Antiguo 12/12/2005, 07:50
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Nuevamente, muchas gracias luistar !!

Voy a intentar cambiar el formato del texto...
  #6 (permalink)  
Antiguo 12/12/2005, 09:58
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Bueno, aquí está el código completo por si alguien lo necesita

Código:
var formato:TextFormat = new TextFormat();
formato.color = 0xFF0000;
var formato2:TextFormat = new TextFormat();
formato2.color = 0x000000;
////////
for (i=1; i<=10; i++) {
 boton_ref = attachMovie('boton', 'btn'+i, i, {_x:i*20});
 boton_ref.texto.text = i;
 boton_ref.ir_a = i;
 boton_ref.onRollOver = function() {
  //acciones
  this.texto.setTextFormat(formato);
 };
 boton_ref.onRollOut = function() {
  this.texto.setTextFormat(formato2);
 };
 boton_ref.onPress = function() {
  //acciones
 };
}
Muchas gracias luistar !!

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 10:36.