allegro 5 之键盘事件

来源:互联网 发布:报喜鸟 男装 知乎 编辑:程序博客网 时间:2024/05/22 07:10
#include <allegro5\allegro.h>#include <allegro5\allegro_primitives.h>//Our primitive header fileint main(void){int width = 640;int height = 480;bool done = false;int pos_x = width / 2;int pos_y = height / 2;ALLEGRO_DISPLAY *display = NULL;ALLEGRO_EVENT_QUEUE *event_queue = NULL;if(!al_init())//initialize Allegroreturn -1;display = al_create_display(width, height);//create our display objectif(!display)//test display objectreturn -1;al_init_primitives_addon();al_install_keyboard();event_queue = al_create_event_queue();al_register_event_source(event_queue, al_get_keyboard_event_source());while(!done){ALLEGRO_EVENT ev;al_wait_for_event(event_queue, &ev);if(ev.type == ALLEGRO_EVENT_KEY_DOWN){switch(ev.keyboard.keycode){case ALLEGRO_KEY_UP:pos_y -= 10;break;case ALLEGRO_KEY_DOWN:pos_y += 10;break;case ALLEGRO_KEY_RIGHT:pos_x += 10;break;case ALLEGRO_KEY_LEFT:pos_x -= 10;break;}}else if(ev.type == ALLEGRO_EVENT_KEY_UP){if(ev.keyboard.keycode == ALLEGRO_KEY_ESCAPE)done = true;}al_draw_filled_rectangle(pos_x, pos_y, pos_x + 30, pos_y + 30, al_map_rgb(255,0,255));al_flip_display();al_clear_to_color(al_map_rgb(0,0,0));}al_destroy_event_queue(event_queue);al_destroy_display(display);//destroy our display objectreturn 0;}


原创粉丝点击