En Create event, Key Press, la parte num?rica del teclado s?lo da opciones del 0 al 9. Si quisi?ramos un n?mero de dos cifras juntas, por ejemplo que pulsando 47, genere una acci?n ?Eso como se har?a?  Es que s?lo me deja con d?gitos de una cifra. Gracias.

#1 Julio 03, 2010, 02:20:09 AM Ultima modificación: Julio 03, 2010, 02:22:39 AM por Killer
No se que clase de teclado estaras usando pero el mio llega hasta el 9, no tiene tecla 47.

Seria mejor si usas dos eventos, Key Press 4 y Key Press 7, aparte de una variable y una alarma para dar tiempo entre cada tecla.

Código (Key Press 4) [Seleccionar]
alarm[0] = room_speed/2:
Press = 1;


Código (Key Press 7) [Seleccionar]
if Press = 1 //C?digo que quieras

Código (Evento Alarm[0) [Seleccionar]
Press = 0;

Basicamente, al presionar 4 activas una variable que se desactiva medio segundo despues, si antes de que se desactive presionas 7 se ejecuta el c?digo que quieres.

#2 Julio 03, 2010, 04:19:24 AM Ultima modificación: Julio 03, 2010, 07:30:13 AM por Herni
Esta es una opci?n muy parecida a la de Killer, pero yo llevo un control del valor de la primera tecla que hayamos pulsado, en caso de que queramos comprobar todas las posibilidades de 2 cifras (del 01 al 99) y uso un objeto invisible para controlar las combinaciones:

Código (Key Press 1) [Seleccionar]

if (global.Pulsado == 0)
{
 objCombinaciones.alarm[0] = room_speed/2;
 global.Pulsado = 1;
 global.Combinacion = 10;         // En este caso salvamos 10 (Tecla 1 * 10) porque esperamos un
                                  // n?mero de 2 cifras y el primero es el de las decenas
}
else  // Si ya hay pulsado un n?mero
{
 global.Combinacion += 1;         // Con esto sumar?amos 1 lo que nos dar?a un total de 11
                                  // (en nuestro ejemplo actual)
 global.CombinacionCompleta = 1;  // Marcamos que ya tenemos un n?mero de 2 cifras tecleado
 objCombinaciones.alarm[0] = 1;   // Pongo a 1 la alarma para que salta al instante
                                  // (no s? si se puede poner 0 directamente)
}


Código (Evento Alarm0 de un objeto invisible objCombinaciones para evitar tener tropecientas alarmas activas) [Seleccionar]

if (global.CombinacionCompleta == true)  // Si ya ha pulsado un n?mero de 2 cifras
{
  global.Pulsado = 0;  // Reseteamos para evitar que vuelva a teclear otro n?mero
 if (global.Combinacion == 0)
 {
   // Evento del "00"
 }
 if (global.Combinacion == 1)
 {
   // Evento del "01"
 }
 // Y as? todas las combinaciones que quieras contemplar
}
else  // Si se ha pasado el tiempo antes de que pulse el segundo n?mero, reseteo
{
 global.Combinacion = 0; // Para resetear la combinaci?n
}



Un saludo,
- Herni
(Acepto todo tipo de cr?ticas, ya que soy novato total, usando GM desde el 12 de Junio de 2010)
(Me ofrezco como voluntario para cualquier proyecto en el que pueda echar una manilla)
HerniHost (Dise?o Web, Hosting y Registro de Dominios)

Muchas gracias a ambos por la ayuda. Voy a probarlo. No, en ning?n momento dije que mi ordenador tenga 47 teclas. No dije nada de eso no. Dije que como no deja-no el m?o ninguno- que se podr?a hacer para si queremos teclear un 47, que nos coja un 47 y no un cuatro solamente. Me expres? mal. Solo quer?a saber eso c?mo se podr?a dar una opci?n 20 -pulsando el 2 mas el 0,etc-. Porque si tuviera 47 numeros ni lo habr?a preguntado. Lo pregunto porque no las tiene y quer?a saber como componerlo. Os subo el karma a los dos y perdonar si no me expliqu? correctamente. Un saludo de verdad muchas gracias.

#4 Julio 03, 2010, 07:12:19 AM Ultima modificación: Julio 03, 2010, 07:31:27 AM por Herni
Pixelines, el c?digo de ambos es para eso.

T? pulsas el 4 y te da medio segundo para que pulses el 7, de esa manera se compondr? la cifra 47.

Yo te he puesto el c?digo para la tecla 1, con ese c?digo podr?as crear una opci?n para el n?mero 11, pero luego si la pones igual para el 2, para el 3, para el 4, as? hasta el 0, a base de pulsar dos n?meros en menos de medio segundo podr?s componer opciones desde el 00 al 99.


Un saludo,
- Herni
(Acepto todo tipo de cr?ticas, ya que soy novato total, usando GM desde el 12 de Junio de 2010)
(Me ofrezco como voluntario para cualquier proyecto en el que pueda echar una manilla)
HerniHost (Dise?o Web, Hosting y Registro de Dominios)