Comunidad de diseño web y desarrollo en internet online

botones dinamicos

Citar            
MensajeEscrito el 22 Jun 2015 10:03 pm
buenas tardes, bueno, desempolvandome un poco con flash :)

tengo un codigo que me genera movieclips que los converti en botones a partir del contenido de una base de datos, dentro del boton hay una caja de texto en la cual carga el valor de la base de datos en cada boton y funciona todo bien, ahora el problema es que al utilizar la funcion para invocar el valor de ese boton, no me da correctamente la info, solo me da el utlimo valor de la tabla, esto creia yo que funcionaria si invocara dentro del for la funcion de llamado, pero me marca error, solo he podido hacer que al dar click me muestre la info del boton pero solo me muestra el ultimo valor en todos los botones al dar click, les paso el codigo para ver si podrian asesorarme, gracias de antemano.

Código ActionScript :

var info:String = ""
for (var i:int=0; i<dataSet.length-1; i++) {
    for (var n:int=0; n<dataSet[0].length; n++) {
        
 info = dataSet[i][n];   
      
      
var cuadrito:cuadro = new cuadro()   
cuadrito.texto.text=dataSet[i][n];
cuadrito.x = 150; 
cuadrito.y = 80 + cuadrito.height * i * 1.2;
cuadrito.buttonMode=true
cuadrito.addEventListener(MouseEvent.CLICK,informacion);
addChild(cuadrito)   
            
    }
 
}

function informacion(e:MouseEvent):void{
mensaje.text = (info);
}

Por ipalmeros

45 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Jun 2015 01:32 pm
Tienes que copiarlo al scope del MovieClip, que es donde se ejecuta el callback

cuadrito.info = dataSet[i][n];

Y luego

Código ActionScript :

function informacion(e:MouseEvent):void{
    mensaje.text = (event.target.info);
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jun 2015 04:05 pm
Gracias jorge por tu respuesta, de hecho hice lo que me dijiste, solo algo curioso, cuando comento esta linea:

Código ActionScript :

function informacion(e:MouseEvent):void{

    //mensaje.text = (event.target.info);

}




en zinc aun sigue funcionando, pq al publicar el swf el swc sigue activo en en zinc, como se ve en la imagen



Ahora, si no dejo comentado esa parte (que realmente el problema es

Código ActionScript :

event.target.info
) como lo tengo en la imagen



ya el programa si lo compilo no me ejecuta nada y en el preview del zin, el swc ya no es visible, esto significa que hay error en el codigo y el zinc no lo puede compilar, pero en el flash no marca error, a que se deberá esto?



muchas gracias de nuevo por tu ayuda

Por ipalmeros

45 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Jun 2015 04:22 pm
Desde que se usa AIR como runtime (incluso embebido, es decir no se tiene que instalar previamente nada), no he vuelto a tocar Zinc, y de eso hace mas de 5 años. Si no da error en Flash, debería compilar en Zinc, suena mas a un tema de cache ... prueba de agregar algo visual (tipo un dibujito) para asegurarte que estas en la versión correcta

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jun 2015 05:09 pm
es que el AIR es el que mas he manejado para aplicaciones de escritorio, pero hay algo que no logro hacer en AIR, pq creo no hay opciones como es el evitar el ctrl+alt+del para que no cierre la aplicacion o el alt+f4 o la tecla windows, por eso mi opcion fue mdm zinc, o existe alguna manera de que AIR bloquee estas opciones de tecla, puede ser que acesando directamente a la api de windows? o mac command+q? para que solo salga de la aplicacion desde la aplicacion misma?, lo que quiero hacer es practicamente un kiosko

Por ipalmeros

45 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Jun 2015 05:58 pm
No lo impide porque te dejaría "atrapado" en la aplicación .... no sabía que Zinc lo hacía

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jun 2015 06:18 pm
si, de hecho lo hace, te bloquea el ctrl+alt+del y el alt+f4, escape, y tambien te bloquea en la mac, espero pueda resolver pq no hay error en el codigo pero no se pq el event.target me marca error en el zinc, saludos jorge y gracias

Por ipalmeros

45 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Jun 2015 06:45 pm
listo ya encontre el error, era la forma de invocar el evento, lo tenia escrito asi:

Código ActionScript :

function informacion(e:MouseEvent):void{
    mensaje.text = (event.target.info);
}


y lo cambie de esta manera:

Código ActionScript :

function informacion(event:Event):void{
mensaje.text = (event.target.info);
}


y funciono perfectamente, muchas gracias por la asesoria jorge :)

Por ipalmeros

45 de clabLevel



 

chrome
Citar            
MensajeEscrito el 05 Nov 2019 02:58 am

ipalmeros escribió:

buenas tardes, bueno, desempolvandome un poco con flash :)

tengo un codigo que me genera movieclips que los converti en botones a partir del contenido de una base de datos, dentro del boton hay una caja de texto en la cual carga el valor de la base de datos en cada boton y funciona todo bien, ahora el problema es que al utilizar la funcion para invocar el valor de ese boton, no me da correctamente la info, Onlinesbi [url=https://sudoku.kim/ ]sudoku[/url] incometaxindiaefiling solo me da el utlimo valor de la tabla, esto creia yo que funcionaria si invocara dentro del for la funcion de llamado, pero me marca error, solo he podido hacer que al dar click me muestre la info del boton pero solo me muestra el ultimo valor en todos los botones al dar click, les paso el codigo para ver si podrian asesorarme, gracias de antemano.

Código ActionScript :

var info:String = ""
for (var i:int=0; i<dataSet.length-1; i++) {
    for (var n:int=0; n<dataSet[0].length; n++) {
        
 info = dataSet[i][n];   
      
      
var cuadrito:cuadro = new cuadro()   
cuadrito.texto.text=dataSet[i][n];
cuadrito.x = 150; 
cuadrito.y = 80 + cuadrito.height * i * 1.2;
cuadrito.buttonMode=true
cuadrito.addEventListener(MouseEvent.CLICK,informacion);
addChild(cuadrito)   
            
    }
 
}

function informacion(e:MouseEvent):void{
mensaje.text = (info);
}
y tambien te bloquea en la mac, espero pueda resolver pq no hay error en el codigo pero no se pq el event.target me marca error en el zinc, saludos jorge y gracias

Por tayeadil

6 de clabLevel



 

chrome

 

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