0
我想製作一個Allegro 5程序,在按下鼠標按鈕時光標必須改變它的外觀。據我所知,這個聲明events.type!=ALLEGRO_EVENT_MOUSE_BUTTON_UP
永遠不會變成錯誤的。但我不明白爲什麼,因爲釋放按鈕後循環不停止。你能告訴我我的錯誤在哪裏,如果有更好的替代方法?Allegro鼠標按鈕發佈
while(loop){
al_clear_to_color(al_map_rgb(0,0,0));
ALLEGRO_EVENT events;
al_wait_for_event(event_queue, &events);
if(events.type == ALLEGRO_EVENT_DISPLAY_CLOSE){
loop=false;
}
if(events.type == ALLEGRO_EVENT_MOUSE_AXES){
x=events.mouse.x;
y=events.mouse.y;
buffer = released;
}
if(events.type==ALLEGRO_EVENT_MOUSE_BUTTON_DOWN)
while (events.type!=ALLEGRO_EVENT_MOUSE_BUTTON_UP){
x=events.mouse.x;
y=events.mouse.y;
al_draw_bitmap(pressed, x , y , NULL);
al_flip_display();
al_clear_to_color(al_map_rgb(0 , 0 , 0));
}
al_draw_bitmap(released, x , y , NULL);
al_flip_display();
}
我已經嘗試了這個方法,但問題是,它只顯示按下的光標圖片一秒鐘,當我改變鼠標位置而不釋放按鈕時,它再次顯示釋放的圖片... – Sam379
@ Sam379我的代碼不是解決方案,而是一個示例如何更正確地組織你的活動。在這種情況下,你應該使'change'變量'static'。 – 2013-06-22 14:03:44
好的,非常感謝 – Sam379