Resultados 1 al 14 de 14

Tema: Cómo hacer un único pulso positivo negativo con el sensor keyboard del BGE

  1. #1
    Fecha de ingreso
    Mar 2004
    Mensajes
    379

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Buenas. Estoy intentado generar un pulso único con el keyboard sensor, pero no doy con el tema (o género 2 o ninguno o 1 y después de un tiempo otro, etc). ¿alguien me puede arrojar algo de luz al tema?
    Con el property sensor si lo he conseguido (ver imagen adjunta) pero necesitaba algo más interactivo para facilitarme el desarrollo de un modulo.

    Clic en la imagen para ver su versión completa. 

Nombre: blender_module1.jpeg 
Visitas: 854 
Tamaño: 59.8 KB 
ID: 149925

    Gracias por adelantado.
    Última edición por lordloki; 01-09-2011 a las 17:26

  2. #2
    Fecha de ingreso
    Feb 2004
    Mensajes
    4,832

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Activa el tap, creo que es eso (eso no existía cuando yo lo usaba.

  3. #3
    Fecha de ingreso
    Jun 2003
    Mensajes
    12,618

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Creo que esa parte nunca la he visto muy bien explicada. Un evento de pulsación de tecla tiene tres fases posibles:
    No pulsada->pulsada (botón, en el ge)
    Pulsada->pulsada (ningún botón)
    Pulsada->no pulsada (botón ··· en el ge).
    (Con el inv tendríamos también el no pulsada->no pulsada).

    Para que cuando alguno de esos flancos se repita (por ejemplo, en el caso pulsada->pulsada), el botón tap hace que sólo se envíe el primero de ellos.

  4. #4
    Fecha de ingreso
    Feb 2004
    Mensajes
    4,832

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    No lo había entendido nunca como flancos de una señal, ahora tiene sentido todo.

  5. #5
    Fecha de ingreso
    Jun 2003
    Mensajes
    12,618

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Bueno, el único problema es que no funciona, o no está implementado así, o yo entendí mal el sentido. Edito: revisando, si tenemos el botón tap pulsado responde así:
    Nada activado -> un pulso cuando pasa de no pulsado a pulsado.

    True activado (···, antes lo puse al revés) -> un pulso en cada frame.

    False activado (, antes lo puse al revés) -> un pulso cuando pasa de no pulsado a pulsado. Esto me marea cantidad.

    En resumen: vaya cosa rara montaron ahí cada vez que me pongo a hacer algo, me toca probar combinaciones hasta dar con la que me interesa.
    Última edición por Mars Attacks; 03-09-2011 a las 19:48

  6. #6
    Fecha de ingreso
    Feb 2004
    Mensajes
    4,832

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Pero entonces el false no es lo mismo que nada activado? Por otra parte, creo que la funcionalidad la cambiaron, porque antes de estar el botón tap ya se podía hacer el mismo efecto solo con los true/false modes. Diría que era activando el false, aunque no te lo sabría decir seguro.

  7. #7
    Fecha de ingreso
    Dec 2004
    Mensajes
    14,031

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    ¿Para que usáis eso? Yo con el tap y el invert me apaño perfectamente, no entiendo la utilidad de esos botones, a no ser que dependan de un script asociado.

  8. #8
    Fecha de ingreso
    Feb 2004
    Mensajes
    4,832

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Pero antes no existía el tap que yo sepa. Más que nada porque yo no los había utilizado nunca y no sabía que existían. Como digo arriba, cuando fui a probar lo que pedía Lordloki lo intenté hacer solo con los true y false que es como lo hacía yo antes y no funcionaba. Entonces es cuando advertí que habían puesto el botón tap.

    Hay que tener en cuenta que no uso el ge de Blender igual desde, la 2.3x o 2.43 como mucho.

  9. #9
    Fecha de ingreso
    Mar 2004
    Mensajes
    379

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Yo creo que mi caso no es un caso representativo puesto que al no enlazar un actuador sino un módulo de c no tiene igual comportamiento.

    He revisado el código de los actuadores y todos evitan el pulso negativo, aunque tú no quieras:
    Código:
    Bol bnegativeevent = sca_iactuator:isnegativeevent(),
    Sca_iactuator:removeallevents().
    
    If (bnegativeevent)
    Return; // do nothing on negative events.
    Voy hacer lo mismo en el modulo:
    Código:
    Sca_isensor* e_sensor = object->findsensor(keyboard), if (e_sensor->getstate () &&.e_sensor->getprevstate ())
    Cout << solo pulso positivo\n;
    . Gracias.

  10. #10
    Fecha de ingreso
    Jun 2003
    Mensajes
    12,618

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Bueno, reitero que en teoría, el pulso false debería lanzarse cuando termina el evento. Esto es utilísimo para el tema de clicks sobre objetos (en los que tú quieres que ocurra la acción cuando sueltas el botón, no cuando lo pulsas) y en general para evitar repeticiones de eventos en acciones.

    Un ejemplo clásico: imaginad un juego dónde tienes el botón de pausa y, cuando lo pulsas, tienes el en mismo lugar el botón de continuar el juego. Si no se lanza el evento en los flancos de desactivación (el false), lo que ocurriría es que se lanzaría el evento de pausa en cuanto pulsaras, se lanzaría el evento de continuar en el mismo frame o en el siguiente frame (depende de la implementación, y en el segundo caso probablemente no te habría dado tiempo a soltar el ratón) y lo que notarías es que el juego no se pausa cuando pulsas ese botón, o que hay un extraño parpadeo y luego todo sigue igual.

    Con el flanco de false te aseguras de que un botón no funciona si antes no se ha hecho click sobre el (pulse true) y efectúa su acción cuando lo sueltas (flanco false).

    Pero repito que no sé cómo porras han implementado esto.

    Por cierto, ¿cómo incrustas módulos de c? ¿te refieres a empotrándolos desde Python o haces alguna otra cosa?

  11. #11
    Fecha de ingreso
    Dec 2004
    Mensajes
    14,031

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Pero, todo eso que explicas se resuelve fácilmente con el tap y el invert.

  12. #12
    Fecha de ingreso
    Jun 2003
    Mensajes
    12,618

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Yes, y know, pero ni siquiera deberían hacer falta con una implementación estándar. Claro que igual su protocolo para esos botones es otro, el caso es que nunca he encontrado una documentación decente y clara sobre ellos.

  13. #13
    Fecha de ingreso
    Dec 2004
    Mensajes
    14,031

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Yo siempre he pensado (y sigo haciéndolo) que esos botones no funcionaban bien, no se les ve ninguna lógica.

  14. #14
    Fecha de ingreso
    Mar 2004
    Mensajes
    379

    Como hacer un unico pulso positivo o negativo con el sensor keyboard del BGE

    Por cierto, ¿cómo incrustas módulos de c? ¿te refieres a empotrándolos desde Python o haces alguna otra cosa?
    Hay un repositorio en https://github.com/makersf/blenderdev que te permite cargar modulo en c con un nuevo controller. El problema (por el que ya he dejado de usarlo) es que, al utilizar más funciones de Blender te obliga a enlazar a las diferentes librerías internas con lo que al final tienes un módulo que te ocupa tanto como el blenderplayer con lo cual no tiene mucha utilidad. Quizás se pueda utilizar solo si se quieren hacer cálculos que consuman mucha CPU, pero no teniendo que llamar a funciones de Blender.

Temas similares

  1. ¿Qué debo hacer para calibrar sensor de proximidad?
    Por robfret001 en el foro Impresoras 3D
    Respuestas: 8
    : 06-04-2023, 22:57
  2. Respuestas: 5
    : 02-01-2012, 08:34
  3. Cómo agregar varias caras de un mismo objeto en un único documento UV
    Por Shoto_Reaper en el foro Materiales y Texturizado
    Respuestas: 6
    : 17-09-2011, 15:05
  4. Duda vértices deben estar en z positivo
    Por juanjo3Dmax en el foro Modelado
    Respuestas: 1
    : 01-03-2011, 19:39
  5. Que tal tienes el pulso
    Por rcar_2001 en el foro Pasatiempos y sugerencias
    Respuestas: 21
    : 19-10-2005, 06:39