Estou fazendo um jogo em linguagem C usando a biblioteca gráfica Allegro para um projeto da faculdade. Estou enfrentando dificuldades para controlar o clique do mouse. No meu jogo, o usuário terá que selecionar peças, e cada clique deve selecionar apenas uma peça. O problema é que quando clico uma vez, o jogo seleciona mais de uma peça. Resolvi o problema usando a função rest, porém, preciso movimentar bitmaps na tela, e quando eles estão em movimento e o usuário clica em alguma peça para fazer a seleção, os bitmaps param temporariamente devido a função rest, mas sem ela não consigo selecionar apenas uma peça.
Peço a ajuda de vocês para resolver este problema. Existe alguma forma de configurar o clique do mouse sem alterar o desempenho do programa? Se vocês puderem ajudar o mais rápido possível, agradeço.
Segue uma parte do código que contém o problema citado:
Question
Muuh
Boa Tarde.
Estou fazendo um jogo em linguagem C usando a biblioteca gráfica Allegro para um projeto da faculdade. Estou enfrentando dificuldades para controlar o clique do mouse. No meu jogo, o usuário terá que selecionar peças, e cada clique deve selecionar apenas uma peça. O problema é que quando clico uma vez, o jogo seleciona mais de uma peça. Resolvi o problema usando a função rest, porém, preciso movimentar bitmaps na tela, e quando eles estão em movimento e o usuário clica em alguma peça para fazer a seleção, os bitmaps param temporariamente devido a função rest, mas sem ela não consigo selecionar apenas uma peça.
Peço a ajuda de vocês para resolver este problema. Existe alguma forma de configurar o clique do mouse sem alterar o desempenho do programa? Se vocês puderem ajudar o mais rápido possível, agradeço.
Segue uma parte do código que contém o problema citado:
//Ouro
if(mouse_x>=454 && mouse_x<=522 && mouse_y<=690 && mouse_y>=650){
if(mouse_b&1){
clique_ouro=0;
if(qtd_ouro==0){
qtd_ouro=0;
}
else{
qtd_ouro--;
rest(150);
qtd_ouro_m++;
}}}
if(clique_ouro==0){
draw_sprite(buf,Ouro,690,590);
textprintf_ex(buf, font, 717, 623, makecol(0,119,0), -1, "%i", qtd_ouro_m);
}
Fico no aguardo !
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.