seuqram Posted March 7, 2015 at 07:44 PM Report Share #578912 Posted March 7, 2015 at 07:44 PM (edited) Bom dia. Eu estou a desenvolver uma camara 3d com a biblioteca glut do opengl. Está quase como terminada, apenas a movimentação da mesma está errada. Eu usei esta funçao: glutKeyboardFunc para saber que tecla está a ser pressionada. O problema desta função é que funciona do seguinte modo: 1->Se a tecla x está a ser pressionada executa a função de movimento 1 vez. 2->espera um determinado tempo. 3->se continuar a ser executada, agora, continua a função de movimento até a tecla x deixar de ser pressionada. Ou seja esta função apenas é util para a escrita, por exemplo. Já que esta função não convém á movimentação de objetos (como eu estou a fazer), queria uma função que captasse a tecla que está a ser primida e que seja continua. Já procurei pela internet e não encontrei tal, pelo que vim a perguntar se algum de voces sabe. Obrigado por ter lido este tópico ; ) Edited March 7, 2015 at 10:22 PM by seuqram Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 7, 2015 at 08:54 PM Report Share #578914 Posted March 7, 2015 at 08:54 PM porque não é essa a maneira que se usa a função. o que deverás fazer é ter um local (variável) que determina o estado da tecla. quando essa função é chamada, alteras o valor dessa variável para 1 ou verdadeiro e quando a mesma tecla é notificada através da função glutKeyboardUpFunc marcas como 0 ou falso. dessa maneira, quando fazes a actualização do estado do mundo, verificas somente o valor dessa variável que determina se a posição da camera deverá ser actualizada. por outras palavras, essa função não deverá ser usada para actualizar o mundo, mas para notificar o estado do teclado. 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
seuqram Posted March 7, 2015 at 10:15 PM Author Report Share #578918 Posted March 7, 2015 at 10:15 PM Oi HappyHippyHippo! Estendi o seu ponto de vista e já consegui fazer o codigo corretamente. Muito obrigado por me ter respondido e esclarecido Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now