Comunidad de diseño web y desarrollo en internet online

Botón en AS3 con varias funciones

Citar            
MensajeEscrito el 11 Jun 2010 08:38 am
Buenos días.
Tengo que hacer un botón que la primera vez que lo pulse "escriba" en un texto dnámico un punto "."
Hasta ahí sin problemas. Pero este botón, si lo pulso otra vez, debería escribir en lugar del punto una "X", y de pulsarlo otra vez, "Y" ¿Alguna idea, por favor?
Un saludo a todos y gracias por vuestra ayuda,
Angel

XY.addEventListener(MouseEvent.CLICK, homeXYHandler);
function homeXYHandler(event:MouseEvent):void {
Entrypad.appendText(".");

Por potez36

30 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jun 2010 10:05 am
Con esto, controlando el doble click, podría controlar el segundo click, pero ¿el tercero y sucesivos?

addEventListener(MouseEvent.DOUBLE_CLICK, onDobleClick);

Ante no he cometado el primer click sería "." eñ segundo "X", el tercero "Y", el cuarto de nuevo "." y así sucesivamente

Por potez36

30 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jun 2010 11:53 am
Aqui tienes

Código ActionScript :

miboton.addEventListener(MouseEvent.CLICK, mibotonCLICK);
var inc:Number = 0;
var arrTxt:Array = new Array(".",  "X ",  "Y ");
function mibotonCLICK(e:Event):void{
mitexto.text = arrTxt[inc];
inc++;
if(inc >2){
inc = 0;
}
}

Por giskard

110 de clabLevel



Genero:Masculino  

Programador y diseñador web

msie8
Citar            
MensajeEscrito el 15 Jun 2010 05:35 am
Buenos días funciona perfectamente pero... si quisiera que el caracter "." "X" o "Y" se añadiera al texto existente, (ejempolo 478X, 32Y o 43.23, punto decimal). Lo estoy intentando cambiando así tu código:

function homeXYHandler(event:MouseEvent):void {
Entrypad.appendText(arretxt[inc0]);
// Entrypad.text = arretxt[inc0]; <-------------- esta es tu línea de código
inc0++;
if(inc0 >2)
{
inc0 = 0;
}
}

Pero eso siempre añade un punto X o Y, en lugar de ser siempre el mismo carácter, (ejemplo 43. 43X 43Y sucesivamente
Muchas gracias por todo, un slaudo

Por potez36

30 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jun 2010 09:47 am
Vale, como soy un poco cenutrio, he tardado en darme cuenta de lo que quería.
En el fondo no esmás que un botón con una funcionalidad similar a la de los botones de un teléfono móvil, es decir, si pulso una vez aparece un carácter, si pulso dos, el siguiente y así sucesivamente, aunque en la pantalla ocupan siempre el mismo espacio.
Fianlemente lo he resuelto con esta ñapa:
Entrypad es el contendor en pantalla donde parecen los caracteres que escribo (".", X o Y)
esta es la función del botón:

function homeXYHandler(event:MouseEvent):void {

if (Entrypad.text.indexOf(".")!= -1) // si encuentra ".", lo cambia por "X"
{
Entrypad.text = (Entrypad.text.replace(".","X"));
}
else if (Entrypad.text.indexOf("X") != -1) // si encuentra "X", lo cambia por "Y"
{
Entrypad.text = (Entrypad.text.replace("X","Y"));
}
else if (Entrypad.text.indexOf("Y") != -1) // si encuentra "Y", lo cambia por "." de nuevo
{
Entrypad.text = (Entrypad.text.replace("Y","."));
}
else {
// si no encuentra . X o Y, añade . es la situación que se daría siempre al principio
Entrypad.appendText(".");
}
}

Gracias por vuetra ayuda, espero que le sirva a alguien
Un saludo
Angel

Por potez36

30 de clabLevel



 

firefox

 

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