[eside-ghost] Re: C++ & Glut

Turin nohadonja en gmail.com
Lun Nov 19 15:31:11 CET 2007


>
> > Wenas. Mi primer mensaje a la lista :)
> > Alla va:
> >
> > Intento, para un juego, que las teclas WASD muevan al personaje y el
> ratón
> > sirva para girar. Aquí me surgen un par de problemas:
>
> Pues a ver si se puede ayudar ;)
>
> > - Teclado: la tecla pulsada la saco con glutKeyboardFunc [1]. Al parecer
> > solo recoge la pulsación de una tecla cuando me gustaría que fueran 2
> a la
> > vez. (Y de paso que no haya retardo antes de desplazarse en contínuo
> (estilo
> > como cuando pulso una letra y tarda en empezar a repetirse)
>
> Esto lo que se suele hacer es mantener un array con las teclas que
> quieres controlar durante el juego, y mantener ahi su estado (pulsada
> o no).
>
> Cuando llega un evento de "tecla pulsada" al glutKeyboardFunc, pones a
> true el valor correspondiente del array. Y cuando llega un evento de
> "tecla levantada", lo pones a false.
>
> Luego, todos los frames compruebas el estado de cada una de las teclas
> en ese array, y actuas en consecuencia :)



Algo intentaré. glutKeyboardFunc es un poco tozudo...


> -Ratón: usando glutPassiveMotionFunc [1] recoge el movimiento del ratón,
> > pero necesito poder girar la vista el tiempo que quiera. Obviamente en
> modo
> > ventana no puedo porque el ratón deja de hacer focus en el juego, pero
> en
> > fullscreen no me deja porque llega al borde de la pantalla (he tratado
> de
> > ocultar el cursor pero hace eso, ocultar).
>
> Para esto el truco suele ser mover el ratón al centro de la pantalla
> todos los frames :)
>
> En cada frame miras cuánto se ha movido el ratón desde el centro de la
> pantalla, y lo vuelves a poner en el centro.



Estooo, no sabrás alguna llamada que lo haga? Es que estoy en 2º y mucha
experiencia en C no se puede decir que tenga..



Si el usuario es muy burro igual consigue llevar el ratón hasta el
> borde en un solo frame... pero no suele ser el caso xD
>
> Suerte ;)


Gracias :)


taluegoooo
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20071119/cf89d762/attachment.htm


Más información sobre la lista de distribución eside-ghost