elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Contar tiempo en que se presionan teclas pero...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Contar tiempo en que se presionan teclas pero...  (Leído 4,204 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.413


Hackentifiko!


Ver Perfil
Contar tiempo en que se presionan teclas pero...
« en: 31 Julio 2024, 10:00 am »

Supongamos que se presiona una tecla. Pasa un frame (tiempo). En el siguiente frame, el contador debe aumentar. Eso lo logré.

Otra situación:
- Presión.
- Frame.
- Frame, aumenta el contador, presión de otra tecla.
- Frame, aumenta 1 el contador.
- Frame, aumenta 2 el contador.

Es decir, el contador aumenta 1 en cada frame por cada tecla presionándose pero sólo si se presionó durante más de 1 frame. No estoy pudiendo lograr eso.

Mi código es básicamente repetir esto:
Código:
Cuando hay una presión:
   TeclasPresionandose++
   Si AlgunaPresionandose == "No", then eso = "Recién"
Cuando hay un nuevo frame:
   Si AlgunaPresionandose == "Recién", then eso = "Sí"
   // Eso logra que en el 1er frame no aumente el contador.
   sino si AlgunaPresionandose == "Sí", then:
      Contador = Contador+TeclasPresionandose

Eso no sirve porque la 2nda, 3era, etc, tecla que se presione aumentará el contador desde el 1er frame en que se presione, y debe ser desde el 2ndo.

Intenté hacer esto:
Código:
Cuando hay una presión:
   TeclasPresionandose++
   TeclasRecientes++
   Si AlgunaPresionandose == "No", then eso = "Recién"
Cuando hay un nuevo frame:
   Si AlgunaPresionandose == "Recién", then eso = "Sí"
   sino si AlgunaPresionandose == "Sí", then:
      Contador = Contador+TeclasPresionandose-TeclasRecientes
      TeclasRecientes = 0

Pero sucede esto:
En el 1er frame no aumenta, eso está bien.
En el 2ndo frame tampoco, porque TeclasPresionandose-TeclasRecientes es 1-1, está mal que no aumente.


Lo que se me acaba de ocurrir es:
Código:
Cuando hay una presión:
   TeclasPresionandose++
   TeclasRecientes++
   Si AlgunaPresionandose == "No", then eso = "Recién"
Cuando hay un nuevo frame:
   Si AlgunaPresionandose == "Recién", then:
      Eso = "Sí"
      TeclasRecientes--
   sino si AlgunaPresionandose == "Sí", then:
      Contador = Contador+TeclasPresionandose-TeclasRecientes
      TeclasRecientes = 0

Lo pruebo, pero es feo ese -- sin que realmente se haya reducido. ¿Soluciones?

EDIT: Hay que poner 0 en vez de -- o sino si la 1era vez se presiona más de una tecla, lo que se sume será 2-1 la 1era vez, y debe ser 2. En realidad todo eso de "No", "Recién" y "Sí" podría ser innecesario, lo que pasa que también cuento la cantidad de frames (a partir del 2ndo) en que se está presionando alguna tecla, en este caso independientemente de cuántas se presionen, pero no pensé que fuese relevante. Dejo el código completo a ver si alguien lo puede simplificar:
Nota: Lo de C (ejemplo MovimientosC) es que se cuenta el evento si es el único en ese momento o si sucede a la vez que otros, resume +Cualquiercosa.
Código
  1. // Frame 1:
  2. Frames = 0;
  3. // Relativo a Movimiento del mouse:
  4. // Esto sólo lo pude contar en el cambio de frame:
  5. MovimientosC = 0;
  6. // Esto se cuenta desde el 2ndo frame en que se mueve:
  7. FramesMoviendoseC = 0;
  8. // Esto sólo lo pude contar en el cambio de frame:
  9. FrenadasC = 0;
  10. // Relativo a Clics:
  11. ClicsC = 0;
  12. // Esto se cuenta desde el 2ndo frame en que se está cliqueando:
  13. FramesCliqueandoC = 0;
  14. DesclicsC = 0;
  15. // Relativo a Clacs:
  16. ClacsC = 0;
  17. // Esto se cuenta desde el 2ndo frame en que se está claqueando:
  18. FramesClaqueando1C = 0;
  19. // La diferencia es que cuenta cada tecla claqueandose:
  20. FramesClaqueandoXC = 0;
  21. DesclacsC = 0;
  22. // Se detiene en el frame 4 (en el 2 y 3 hay un tiempo de espera antes de empezar, no viene al caso). Un objeto en él tiene:
  23. onClipEvent (load) {
  24. // Para saber si el mouse se movió:
  25. ActualXMouse = _level0._xmouse;
  26. ActualYMouse = _level0._ymouse;
  27. // Para saber si FramesMoviendoseC debe aumentar:
  28. Moviendose = "No";
  29. // Para saber si FramesClaqueando1C debe aumentar:
  30. Claqueando = "No";
  31. // Para determinar qué pantalla mostrar:
  32. PantallaActual = 1;
  33. TiempodePantalla = 333;
  34. }
  35. // Clics:
  36. onClipEvent (mouseDown) {
  37. _level0.ClicsC++;
  38. // Para saber si FramesCliqueandoC debe aumentar
  39. // (si al cambiar el frame es Recién, cambia a Sí y empieza...
  40. // a aumentar. Se detiene cuando cambia a No, al descliquear).
  41. Cliqueando = "Recién";
  42. }
  43. onClipEvent (mouseUp) {
  44. _level0.DesclicsC++;
  45. // Para que FramesCliqueandoC ya no aumente:
  46. Cliqueando = "No";
  47. }
  48. // Teclas:
  49. onClipEvent (keyDown) {
  50. // Clacs sólo debe aumentar si ocurre un clac, no si se mantiene:
  51. // Si la tecla presionándose no está indicada como tal:
  52. if (eval("Tecla"+Key.getCode()+"Presionandose") == undefined) {
  53. // Indicarla:
  54. // trace("Se presionó la tecla: "+Key.getCode());
  55. set ("Tecla"+Key.getCode()+"Presionandose", "S");
  56. // trace("Tecla"+Key.getCode()+"Presionandose: "+eval("Tecla"+Key.getCode()+"Presionandose"));
  57. _level0.ClacsC++;
  58. // Para más adelante saber qué tecla se soltó:
  59. TeclasPresionandose++;
  60. // Para más adelante saber cuánto debe aumentar FramesClaqueandoXC:
  61. TeclasRecienPresionadas++;
  62. // Esto es para saber cual eliminar cuando se deje de presionarse:
  63. set ("TeclaPresionandoseNro"+TeclasPresionandose, Key.getCode());
  64. // trace("TeclaPresionandoseNro"+TeclasPresionandose+": "+eval("TeclaPresionandoseNro"+TeclasPresionandose));
  65. if (Claqueando == "No") {
  66. Claqueando = "Recién";
  67. }
  68. }
  69. }
  70. onClipEvent (keyUp) {
  71. // Revisar lista de teclas guardadas como presionándose,
  72. // para quitar las que ya no estén así:
  73. Puntero = 0;
  74. do {
  75. Puntero = Puntero+1;
  76. if (Key.isDown(eval("TeclaPresionandoseNro"+Puntero))) {
  77. // trace("La tecla "+eval("TeclaPresionandoseNro"+Puntero)+" aún está presionada.");
  78. } else {
  79. // La tecla guardada como presionándose nro (puntero),
  80. // ya no está presionándose: Quitar la asignación:
  81. // ¿Debo indicar que sólo si existe?
  82. // trace("La tecla "+eval("TeclaPresionandoseNro"+Puntero)+" no está presionada.");
  83. // trace("Se elimina.");
  84. delete eval("Tecla"+eval("TeclaPresionandoseNro"+Puntero)+"Presionandose");
  85. // _level0.DesclacsC++;
  86. // Eliminar tecla de la lista de presionándose:
  87. delete eval("TeclaPresionandoseNro"+Puntero);
  88. // Reordenar lista si es necesario:
  89. Puntero2 = Puntero;
  90. while (Puntero2<TeclasPresionandose) {
  91. set("TeclaPresionandoseNro"+Puntero2, eval("TeclaPresionandoseNro"+(Puntero2+1)));
  92. Puntero2 = Puntero2+1;
  93. }
  94. // Borrar la última tecla de la lista (fue movida a antes):
  95. delete eval("TeclaPresionandoseNro"+Puntero2);
  96. TeclasPresionandose--;
  97. // TeclasSoltadasEnEsteFrame++;
  98. }
  99. } while (Puntero<TeclasPresionandose);
  100. if (TeclasPresionandose == 0) {
  101. Claqueando = "No";
  102. }
  103. Desclaqueando = "Sí";
  104. }
  105. onClipEvent (enterFrame) {
  106. // Relativo a Frames:
  107. _level0.Frames = _level0.Frames+1;
  108. // Relativo al Movimiento del Mouse:
  109. // Si se movió:
  110. if (ActualXMouse != _level0._xmouse or ActualYMouse != _level0._ymouse) {
  111. // Si estaba quieto:
  112. if (Moviendose == "No") {
  113. _level0.MovimientosC++;
  114. Moviendose = "Sí";
  115. } else {
  116. _level0.FramesMoviendoseC++;
  117. }
  118. } else if (Moviendose == "Sí") {
  119. // No se movió pero estaba moviéndose:
  120. Moviendose = "No";
  121. _level0.FrenadasC++;
  122. }
  123. ActualXMouse = _level0._xmouse;
  124. ActualYMouse = _level0._ymouse;
  125. // Relativo a Clics:
  126. if (Cliqueando == "Sí") {
  127. _level0.FramesCliqueandoC++;
  128. } else if (Cliqueando == "Recién") {
  129. Cliqueando = "Sí";
  130. }
  131. // Relativo a Clacs:
  132. if (Claqueando == "Sí") {
  133. _level0.FramesClaqueando1C++;
  134. _level0.FramesClaqueandoXC = _level0.FramesClaqueandoXC+TeclasPresionandose-TeclasRecienPresionadas;
  135. trace("TeclasPresionandose: "+TeclasPresionandose);
  136. trace("TeclasRecienPresionadas: "+TeclasRecienPresionadas);
  137. TeclasRecienPresionadas = 0;
  138. } else if (Claqueando == "Recién") {
  139. Claqueando = "Sí";
  140. // Esto es un parche para que a partir del 2ndo frame,
  141. // la 1er o 1eras teclas se cuenten:
  142. TeclasRecienPresionadas = 0;
  143. }
  144. // Relativo a cambiar pantalla:
  145. TiempodePantalla--;
  146. if (TiempodePantalla == 0) {
  147. TiempodePantalla = 333;
  148. if (PantallaActual == 1) {
  149. PantallaActual = 2;
  150. } else {
  151. PantallaActual = 1;
  152. }
  153. _level0.gotoAndStop(PantallaActual+3);
  154. }
  155. }

Lo del cambio de pantalla no es relevante aquí.


« Última modificación: 31 Julio 2024, 10:54 am por Tachikomaia » En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.413


Hackentifiko!


Ver Perfil
Re: Contar tiempo en que se presionan teclas pero...
« Respuesta #1 en: 2 Septiembre 2024, 08:51 am »

Hice un código que, por lo que vi, anda bien, pero algunos nombres son un entrevero bárbaro, me refiero a la parte de:
onClipEvent (enterFrame) {
// Relativo a Clacs:
¿se les ocurre cómo los podría simplificar? Eso ayudaría a ver si funciona bien o no:
Código
  1. onClipEvent (load) {
  2. // Para saber si el mouse se movió:
  3. ActualXMouse = _level0._xmouse;
  4. ActualYMouse = _level0._ymouse;
  5. // Para saber si FramesMoviendoseC debe aumentar:
  6. Moviendose = "No";
  7. // Para determinar qué pantalla mostrar:
  8. PantallaActual = 1;
  9. TiempodePantalla = 333;
  10. }
  11. // Clics:
  12. onClipEvent (mouseDown) {
  13. _level0.ClicsC++;
  14. // Para saber si FramesCliqueandoC debe aumentar
  15. // (si al cambiar el frame es Recién, cambia a Sí y empieza...
  16. // a aumentar. Se detiene cuando cambia a No, al descliquear).
  17. Cliqueando = "Recién";
  18. }
  19. onClipEvent (mouseUp) {
  20. _level0.DesclicsC++;
  21. // Para que FramesCliqueandoC ya no aumente:
  22. Cliqueando = "No";
  23. }
  24. // Teclas:
  25. onClipEvent (keyDown) {
  26. // Clacs sólo debe aumentar si ocurre un clac, no si se mantiene:
  27. // Si la tecla presionándose no está indicada como tal:
  28. if (eval("Tecla"+Key.getCode()+"PresionandoseDeAntes") == undefined && eval("Tecla"+Key.getCode()+"RecienPresionandose") == undefined) {
  29. // Indicarla:
  30. // trace("Se presionó la tecla: "+Key.getCode());
  31. set ("Tecla"+Key.getCode()+"RecienPresionandose", "S");
  32. trace("Tecla"+Key.getCode()+"RecienPresionandose: "+eval("Tecla"+Key.getCode()+"RecienPresionandose"));
  33. _level0.ClacsC++;
  34. // Para más adelante saber qué tecla se soltó,
  35. // y cuánto debe aumentar FramesClaqueandoXC:
  36. TeclasRecienPresionandose++;
  37. // Esto es para saber cual eliminar cuando deje de presionarse:
  38. set ("TeclaRecienPressedNro"+TeclasRecienPresionandose, Key.getCode());
  39. trace("TeclaRecienPressedNro"+TeclasRecienPresionandose+": "+eval("TeclaRecienPressedNro"+TeclasRecienPresionandose));
  40. }
  41. }
  42. onClipEvent (keyUp) {
  43. // Se quitará la tecla ya no presionada:
  44. // Para saber cual es se revisarán 2 listas:
  45. // La de TeclaPressedDeAntes y la de TeclaRecienPressed:
  46. // TeclaPressedDeAntes:
  47. Puntero = 0;
  48. // Para saber si debe revisarse la siguiente lista o no:
  49. Deleted = "No";
  50. while (Puntero<TeclasPresionandoseDeAntes) {
  51. Puntero = Puntero+1;
  52. if (Key.isDown(eval("TeclaPressedDeAntesNro"+Puntero))) {
  53. // trace("La tecla "+eval("TeclaPressedDeAntesNro"+Puntero)+" aún está presionada.");
  54. } else {
  55. // La tecla guardada como presionándose de antes nro (puntero),
  56. // ya no está presionándose: Quitar la asignación:
  57. // ¿Debo indicar que sólo si existe?
  58. trace("La tecla "+eval("TeclaPressedDeAntesNro"+Puntero)+" no está presionada.");
  59. trace("Se elimina.");
  60. delete eval("Tecla"+eval("TeclaPressedDeAntesNro"+Puntero)+"PresionandoseDeAntes");
  61. // _level0.DesclacsC++;
  62. // Eliminar tecla de la lista de presionándose:
  63. delete eval("TeclaPressedDeAntesNro"+Puntero);
  64. // Reordenar lista si es necesario:
  65. Puntero2 = Puntero;
  66. while (Puntero2<TeclasPresionandoseDeAntes) {
  67. set ("TeclaPressedDeAntesNro"+Puntero2, eval("TeclaPressedDeAntesNro"+(Puntero2+1)));
  68. Puntero2 = Puntero2+1;
  69. }
  70. // Borrar la última tecla de la lista (fue movida a antes):
  71. delete eval("TeclaPressedDeAntesNro"+Puntero2);
  72. TeclasPresionandoseDeAntes--;
  73. // Para que el loop termine ahora:
  74. Puntero = TeclasPresionandoseDeAntes;
  75. Deleted = "Sí";
  76. // TeclasSoltadasEnEsteFrame++;
  77. }
  78. }
  79. if (Deleted == "No") {
  80. // TeclaRecienPressed:
  81. Puntero = 0;
  82. while (Puntero<TeclasRecienPresionandose) {
  83. Puntero = Puntero+1;
  84. if (Key.isDown(eval("TeclaRecienPressedNro"+Puntero))) {
  85. // trace("La tecla "+eval("TeclaRecienPressedNro"+Puntero)+" aún está presionada.");
  86. } else {
  87. // La tecla guardada como presionándose de antes nro (puntero),
  88. // ya no está presionándose: Quitar la asignación:
  89. // ¿Debo indicar que sólo si existe?
  90. trace("La tecla "+eval("TeclaRecienPressedNro"+Puntero)+" no está presionada.");
  91. trace("Se elimina.");
  92. delete eval("Tecla"+eval("TeclaRecienPressedNro"+Puntero)+"RecienPresionandose");
  93. // _level0.DesclacsC++;
  94. // Eliminar tecla de la lista de presionándose:
  95. delete eval("TeclaRecienPressedNro"+Puntero);
  96. // Reordenar lista si es necesario:
  97. Puntero2 = Puntero;
  98. while (Puntero2<TeclasRecienPresionandose) {
  99. set ("TeclaRecienPressedNro"+Puntero2, eval("TeclaRecienPressedNro"+(Puntero2+1)));
  100. Puntero2 = Puntero2+1;
  101. }
  102. // Borrar la última tecla de la lista (fue movida a antes):
  103. delete eval("TeclaRecienPressedNro"+Puntero2);
  104. TeclasRecienPresionandose--;
  105. // Para que el loop termine ahora:
  106. Puntero = TeclasRecienPresionandose;
  107. // TeclasSoltadasEnEsteFrame++;
  108. }
  109. }
  110. }
  111. // Desclaqueando = "Sí";
  112. }
  113. onClipEvent (enterFrame) {
  114. // Relativo a Frames:
  115. _level0.Frames = _level0.Frames+1;
  116. // Relativo al Movimiento del Mouse:
  117. // Si se movió:
  118. if (ActualXMouse != _level0._xmouse or ActualYMouse != _level0._ymouse) {
  119. // Si estaba quieto:
  120. if (Moviendose == "No") {
  121. _level0.MovimientosC++;
  122. Moviendose = "Sí";
  123. } else {
  124. _level0.FramesMoviendoseC++;
  125. }
  126. } else if (Moviendose == "Sí") {
  127. // No se movió pero estaba moviéndose:
  128. Moviendose = "No";
  129. _level0.FrenadasC++;
  130. }
  131. ActualXMouse = _level0._xmouse;
  132. ActualYMouse = _level0._ymouse;
  133. // Relativo a Clics:
  134. if (Cliqueando == "Sí") {
  135. _level0.FramesCliqueandoC++;
  136. } else if (Cliqueando == "Recién") {
  137. Cliqueando = "Sí";
  138. }
  139. // Relativo a Clacs:
  140. if (TeclasPresionandoseDeAntes > 0) {
  141. _level0.FramesClaqueando1C++;
  142. _level0.FramesClaqueandoXC = _level0.FramesClaqueandoXC+TeclasPresionandoseDeAntes;
  143. trace ("TeclasPresionandoseDeAntes: "+TeclasPresionandoseDeAntes);
  144. }
  145. // Las recién presionadas pasarán a ser de antes:
  146. while (TeclasRecienPresionandose > 0) {
  147. trace("Las recién presionadas pasarán a ser de antes");
  148. TeclasPresionandoseDeAntes++;
  149. // Agregarlas a la lista de TeclaPressedDeAntes:
  150. set ("TeclaPressedDeAntesNro"+TeclasPresionandoseDeAntes, eval("TeclaRecienPressedNro"+TeclasRecienPresionandose));
  151. trace("La tecla "+eval("TeclaPressedDeAntesNro"+TeclasPresionandoseDeAntes)+" se agregó a la lista en TeclaPressedDeAntesNro"+TeclasPresionandoseDeAntes);
  152. trace("TeclaPressedDeAntesNro"+TeclasPresionandoseDeAntes+": "+eval("TeclaPressedDeAntesNro"+TeclasPresionandoseDeAntes));
  153. // Agregarlas a la otra lista, en que se les asigna S:
  154. set ("Tecla"+eval("TeclaRecienPressedNro"+TeclasRecienPresionandose)+"PresionandoseDeAntes", "S");
  155. trace("La tecla "+eval("TeclaRecienPressedNro"+TeclasRecienPresionandose)+" quedó indicada como presionada en "+"Tecla"+eval("TeclaRecienPressedNro"+TeclasRecienPresionandose)+"PresionandoseDeAntes");
  156. trace("Tecla"+eval("TeclaRecienPressedNro"+TeclasRecienPresionandose)+"PresionandoseDeAntes: "+eval("Tecla"+eval("TeclaRecienPressedNro"+TeclasRecienPresionandose)+"PresionandoseDeAntes"));
  157. // Eliminarlas de la lista de recientes:
  158. delete eval("Tecla"+eval("TeclaRecienPressedNro"+TeclasRecienPresionandose)+"RecienPresionandose");
  159. // Eliminar tecla de la lista de presionándose:
  160. delete eval("TeclaRecienPressedNro"+TeclasRecienPresionandose);
  161. TeclasRecienPresionandose--;
  162. }
  163. // Relativo a cambiar pantalla:
  164. TiempodePantalla--;
  165. if (TiempodePantalla == 0) {
  166. TiempodePantalla = 333;
  167. if (PantallaActual == 1) {
  168. PantallaActual = 2;
  169. } else {
  170. PantallaActual = 1;
  171. }
  172. _level0.gotoAndStop(PantallaActual+3);
  173. }
  174. }
Seguiré pensando. Entiendo que si no explico el código es más difícil que puedan ayudarme, pero es que a mí también me cuesta entenderlo. Lo complicado es lo de los clacs, explicaré eso.

Un clac es cuando se presiona una tecla, no importa durante cuánto tiempo.

Cuando hay un clac, el contador de clacs debe aumentar 1.

El problema es que no es tan fácil que el programa sepa que esa tecla presionándose se está presionando de antes, el programa sólo capta si se está presionando o no, si fuese sólo por eso presionar una tecla causaría que el contador Clacs aumente muchas veces.

La solución que se me ocurrió es guardarlas en una lista, entonces cuando se capta que hay un clac se mira la lista de teclas y el contador solo aumenta si la tecla no está en la lista. Y la tecla se agrega, sino no.

Tampoco hay, que yo sepa, una función que indique o guarde cual fue la última tecla soltada, así que cuando eso ocurre hay que averiguar cual, para eliminarla de la lista. Eso andaba bien también pero con tanto lío de nombres que hice no puedo comprobarlo bien. Cuando hay un desclac, el contador de desclacs aumenta 1.

El contador FramesClaqueando1C es sobre cuántos frames estuvo mantenida alguna tecla, no importa cuántas sean durante un mismo frame, es decir, si se mantuvo presionada una tecla durante 5 frames, el contador aumentará 5, y si fueron 2 teclas también aumentará 5.

Pero yo quise que aumente a partir del 2ndo frame, porque sino, en realidad no habría pasado 1 frame, podría ser 1/2 frame, pasa un frame cuando hay cierta diferenc¡a de tiempo entre un frame y otro, pero el clac está en medio, así que al llegar el siguiente frame el tiempo normal aún no pasó. Para lograr que aumente a partir del 2ndo frame, hay que ver si alguna tecla estuvo siendo presionada desde el frame anterior, pero sólo hay una lista de presionadas, no se sabe si son del frame anterior o no. Bueno, para mejorar eso, cuando hay un clac la tecla se agrega una lista de recién presionadas, y durante un nuevo frame las de esa lista se pasan a otra de teclas presionadas de antes.

Pero son 4 listas en vez de 2, porque...

Cuando hay un clac, hay que ver si la tecla estaba presionada. Para eso se guarda así:
TeclaXRecienPresionandose = "S"
donde X es el código ACII o como se llame. Así cuando se presiona la tecla se mira si esa variable existe ("S") o no (undefined) y no hay que revisar listas.

Cuando hay un desclac, hay que ver cual tecla se soltó. Como dije no conozco si hay un indicador de la última tecla soltada, así que no hay X, no puedo decir "borra la variable TeclaXRecienPresionandose", no sé X. Para averiguarla el programa debe mirar otra lista, en que las variables son así:
TeclaRecienPressedNro1 = 38
donde ese 1 es la posición en la lista y el 38 es la tecla presionada que se mira a ver si es igual a X.
Esa lista tiene las teclas presionadas. La hago con variables en vez de arrays, no viene mucho al caso.

Las otras 2 listas son del mismo estilo pero con otros nombres, y son para otra cosa como su nombre indica:
Tecla38PresionandoseDeAntes
TeclaPressedDeAntesNro1

¿Podría hacer 2 listas en vez de 4? Lo pensaré.

Por último está FramesClaqueandoXC, que es como FramesClaqueando1C pero este tiene en cuenta cuántas teclas han estado presionadas, así que puede aumentar más de 1 a la vez. La cantidad está marcada por TeclasPresionandoseDeAntes.

El lío de los nombres me resulta difícil explicarlo y ya fue bastante cansador explicar todo esto así que será en otra ocasión, pero por ejemplo como algunas variables empiezan con Tecla y otra con Teclas me entrevero, parece una sopa de letras por momentos.


En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.413


Hackentifiko!


Ver Perfil
Re: Contar tiempo en que se presionan teclas pero...
« Respuesta #2 en: 23 Septiembre 2024, 05:26 am »

Esto también lo voy a dar por solucionado, me pareció que debía contar otras cosas, y decidí contarlas de a 1, es decir, contar distintos eventos en distintos momentos del programa, no todos los eventos a la vez, al menos por ahora. Sería largo explicar sobre eso así que termino acá.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines