Detectar tecla al presionarse y soltarse. -
JuliPera - 31.03.2013
Buenas a todos,
estoy haciendo un sistema para mi servidor y me surgio un problema.
El tema es que tengo que detectar cuando apreto una tecla, y volver a detectar cuando la suelto.
Lo que me pasa es que como lo hice, al si apreto la tecla y la suelto, sin apretar nada mas, anda bien.
Yo lo hice poniendo en OnPlayerKeyStateChange que cuando la newkeys es igual a KEY_FIRE (tecla que uso), una variable se ponga en true, y que cuando se suelte (convirtiendose en una oldkey), esta variable se ponga en false.
El problema es que, si yo tengo apretado KEY_FIRE y apreto otra tecla (apuntar por ejemplo), KEY_FIRE pasa a ser oldkey sin que la haya soltado.
Lo que quiero saber es como hacer para que, sin importar que toque teclas, se detecte cuando apreto KEY_FIRE y cuando la suelto.
En definitiva, quiero que mientras que este apretado KEY_FIRE, una variable sea true, y cuando la suelto, esta variable se ponga en false.
No se si se entiende bien,
espero que si y me puedan ayudar!
Saludos!
Respuesta: Detectar tecla al presionarse y soltarse. -
Daniel_Ruiz - 31.03.2013
Creo que no existe solo esta la funcion que la detecta cuando la presiona que es onplayerkey pero de que cuando la suelte no ahy como tal.
Respuesta: Detectar tecla al presionarse y soltarse. -
JuliPera - 31.03.2013
Quote:
Originally Posted by Daniel_Ruiz
Creo que no existe solo esta la funcion que la detecta cuando la presiona que es onplayerkey pero de que cuando la suelte no ahy como tal.
|
Si que se puede, si vos pones newkey & KEY_FIRE, detectas cuando la apretas.
Y si pones oldkey & KEY_FIRE, detectas cuando la soltas.
Pero esto no funciona si yo apreto una tecla en el medio, porque me detectaria esta tecla como newkey, y KEY_FIRE pasaria a ser oldkey sin soltarla.
Respuesta: Detectar tecla al presionarse y soltarse. -
JuliPera - 31.03.2013
Solucionado..
Respuesta: Detectar tecla al presionarse y soltarse. -
OTACON - 31.03.2013
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
return true;
}
https://sampwiki.blast.hk/wiki/OnPlayerKeyStateChange_Es
utiliza
oldkeys, es para detecta cuando soltas la tecla correspondiente.
mira la wiki.