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

Teclado en pantalla

Estas en el tema de Teclado en pantalla en el foro de Flash y Actionscript en Foros del Web. Hola comunidad estoy haciendo un teclado en pantalla puse los botones en un movieclip ahora tengo este codigo por 1 boton de ejemplo Código: q_btn.addEventListener(MouseEvent.MOUSE_DOWN, ...
  #1 (permalink)  
Antiguo 11/08/2010, 14:33
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 10 meses
Puntos: 2
Teclado en pantalla

Hola comunidad estoy haciendo un teclado en pantalla

puse los botones en un movieclip

ahora tengo este codigo por 1 boton de ejemplo


Código:
q_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(Event:MouseEvent):void
		{
			sel.appendText("Q");
			//stage.focus = sel;
		}
como lo puedo hacer para no repetir este codigo para cada boton de cada letra? desde ya muchas gracias!
  #2 (permalink)  
Antiguo 11/08/2010, 15:03
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Teclado en pantalla

hola
pues un array que tenga las letras y luego recorres ese array con un ciclo (for, while) y haces los addEventListener dentro de ese ciclo con cada elemento del array, algo asi

Código actionscript:
Ver original
  1. var array:Array = new Array('a','b');
  2. for( var i:Number=1; i<array.length(); i++ ){
  3.        
  4.  this[array[i]+"_btn"].addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
  5.      }

y en la función esto
Código actionscript:
Ver original
  1. sel.appendText(Event.target.name); //y con una función de cadena le quitas el _btn para que solo quede la letra



saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 11/08/2010, 15:13
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Teclado en pantalla

Muchas Gracias por tu respuesta

me arroja este error

TypeError: Error #1006: value no es una función.
at Teclado()
  #4 (permalink)  
Antiguo 11/08/2010, 15:18
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Teclado en pantalla

donde tengo que situar el codigo que me passte en el constructor de la clase??
  #5 (permalink)  
Antiguo 11/08/2010, 15:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Teclado en pantalla

bueno, pues si esta en una clase, pregunto, tienes un solo movieclip que esta asociado a esta clase o tienes n movieclips asociados a esta clase? pues esto influye en el funcionamiento

el código que te di, la variable array puedes ponerla dentro de la clase pero no en el constructor, y el for puedes ponerlo ya sea en el constructor o mejor aún, en una función aparte para que puedas usarla en varias ocasiones si así lo necesitas
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #6 (permalink)  
Antiguo 11/08/2010, 15:50
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Teclado en pantalla

es solo un movieclip

cree un boton y le puse el codigo, hice lo que me dijiste. lo puse en una funcion

eso me arroja

TypeError: Error #1006: value no es una función.
at Teclado/tomarValores()
at Teclado()
  #7 (permalink)  
Antiguo 11/08/2010, 15:55
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Teclado en pantalla

function tomarValores():void
{
var i:int;
for (i = 0; i < (array.length); i++)
{
this[array[i]+"_btn"].addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
//trace(array[i]);
}
}


asi es correcto :D!


osea tengo que crearle a todos mis botones una instancia LETRA_btn cierto?

un problema es que cuando apreto este bton de prueba en el textfield me arroja

q_btn en vez de q

Última edición por pablokes; 11/08/2010 a las 15:56 Razón: me falto algo
  #8 (permalink)  
Antiguo 11/08/2010, 16:02
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Teclado en pantalla

hola
cierto, o puedes crear un botón madre y exportarlo para action script, y luego en otra función pintar este botón tantas veces como posiciones tengas en el array de letras, y allí mismo le das name, esto si lo hicieras de este modo, si ya tienes los movieclips creados, si puedes darle ese nombre de instancia que mencionaste

ahora, creo que no te fijaste que te decía que necesitabas hacer uso de una función de cadena para recortar el _btn, busca substr para actionscript, o pues si te enredas mucho, solo pon en las instancias la letra y ya
suerte
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #9 (permalink)  
Antiguo 12/08/2010, 08:15
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Teclado en pantalla

Muchisimas gracias!

instanciare cada boton con su letra

A,B etc...
  #10 (permalink)  
Antiguo 12/08/2010, 08:48
 
Fecha de Ingreso: enero-2008
Mensajes: 233
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Teclado en pantalla

una duda que me quedo...

como puedo mantener siempre el cursor aunque este en fullscreen mi swf??
  #11 (permalink)  
Antiguo 12/08/2010, 16:24
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Teclado en pantalla

mantener el cursor? no te entiendo bien,
puedes no se, adjuntar un screenshot o algo?
o bueno, esperemos si alguien que tenga
mejor esa idea te de una luz
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: pantalla, teclado
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 07:35.