0

マウス ボタンを押したときにカーソルの外観を変更する Allegro 5 プログラムを作成したいと考えています。私が理解している限り、このステートメントevents.type!=ALLEGRO_EVENT_MOUSE_BUTTON_UPは決して false にはなりません。しかし、ボタンを離した後、ループが停止しないため、理由がわかりません。私の間違いがどこにあるのか、より良い代替方法があれば教えていただけますか?

        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();

    }
4

1 に答える 1