Programación Específica > Allegro
Problemas con el teclado
(1/1)
ehguacho:
hola! saludos a todos y gracias de antemano!
ando buscando ayuda para resolver un problemita. resulta que estoy haciendo mi primer programa en C++ y Allegro (IDE Code::Blocks + Allegro). este mi codigo:
--- Código: C++ ---#include <allegro.h>#include <conio2.h>#include <stdio.h>#include <stdlib.h> static inline void TicksCounter();volatile int ticks,max_ticks; int main(){ BITMAP *fichas[12]; PALETTE paleta; int i,x,y; clrscr(); allegro_init(); install_timer(); install_keyboard(); set_color_depth(32); if(set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0) != 0) { printf("Error cambiando al modo grafico. Saliendo..."); allegro_exit(); exit(1); } fichas[0] = load_bitmap("ficha0.pcx",paleta); fichas[1] = load_bitmap("ficha1.pcx",paleta); fichas[2] = load_bitmap("ficha2p1.pcx",paleta); fichas[3] = load_bitmap("ficha2p2.pcx",paleta); fichas[4] = load_bitmap("ficha3p1.pcx",paleta); fichas[5] = load_bitmap("ficha3p2.pcx",paleta); fichas[6] = load_bitmap("ficha4p1.pcx",paleta); fichas[7] = load_bitmap("ficha4p2.pcx",paleta); fichas[8] = load_bitmap("ficha5p1.pcx",paleta); fichas[9] = load_bitmap("ficha5p2.pcx",paleta); fichas[10] = load_bitmap("ficha6p1.pcx",paleta); fichas[11] = load_bitmap("ficha6p2.pcx",paleta); ticks = 0; LOCK_VARIABLE(ticks); LOCK_FUNCTION(TicksCounter); install_int(&TicksCounter,14); x = y = 10; max_ticks = 70; draw_sprite(screen,fichas[0],x,y); while(!key[KEY_ESC]) { clear_keybuf(); if(ticks - max_ticks > 0) { rectfill(screen,x,y,x + 22,y + 10,makecol(0,0,0)); y += 10; draw_sprite(screen,fichas[0],x,y); ticks = 0; printf("asd"); // eso es solo una linea de prueba para ver si entra a este bloque } if(key[KEY_RIGHT]) x += 22; } allegro_exit(); return 0;}END_OF_MAIN() static inline void TicksCounter(){ ticks++; return;}END_OF_FUNCTION(TicksCounter);
el problema es que cuando presiono la flecha de navegacion derecha, la ficha que dibuje en pantalla y que deberia moverse a la derecha se me queda completamente clavada. alguien tiene idea de porque puede ser esto?
cualquier ayuda sera bienvenida. saludos!
PD: adjunto el codigo fuente por las dudas...
ehguacho:
bueno por las dudas ya lo solucione :D
Navegación
Ir a la versión completa