ALLEGRO - Error in flip_display when starting draw_bitmap

Asked

Viewed 11 times

0

all right? My code is giving error when I start it, the error occurs in al_flip_display(); and it always occurs when I try to start the al_draw_bitmap(rline, 120, 220, 0); If I remove draw_bitmap, the error stops, but I can’t understand why it occurs, they can help me to import images into the program?

// Bibliotecas
#include <allegro5/allegro.h>
#include <allegro5/allegro_native_dialog.h>
#include <allegro5/allegro_image.h>
#include <stdio.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_ttf.h>
#include <allegro5/allegro_audio.h>
#include <allegro5/allegro_acodec.h>

// Atributos da tela
#define largura_t 1024
#define altura_t 860

larguralinha = 0;
alturalinha = 0;

//variavel que apresenta erro caso o programa não inicie corretamente
void error_msg(const char* text) {
    al_show_native_message_box(NULL, "ERRO",
        "Ocorreu o seguinte erro e o programa sera finalizado:",
        text, NULL, ALLEGRO_MESSAGEBOX_ERROR);
}

int main(void) {
    //Variaveis de jogo
    ALLEGRO_DISPLAY* janela = NULL;
    ALLEGRO_BITMAP* rline = al_load_bitmap("rline.jpg");
    ALLEGRO_BITMAP* bline = al_load_bitmap("bline.jpg");
    ALLEGRO_BITMAP* gline = al_load_bitmap("gline.jpg");
    ALLEGRO_BITMAP* yline = al_load_bitmap("yline.jpg");
    ALLEGRO_BITMAP* pline = al_load_bitmap("pline.jpg");
    ALLEGRO_EVENT_QUEUE* fila_eventos = NULL;
    ALLEGRO_MOUSE_STATE state;
    bool fim = false;

    //ADDONS
    al_init_font_addon();
    al_init_ttf_addon();
    al_init_image_addon();

    //Iniciando o jogo
    if (!al_init()) {
        error_msg("Jogo não pode ser inicializado");
        return -1;
    }

    janela = al_create_display(largura_t, altura_t);
    //Criação da janela do jogo
    if (!janela) {
        error_msg("Erro ao criar o display");
        return -1;
    }

    //Criação da fila de eventos
    fila_eventos = al_create_event_queue();

    //Registro de eventos
    al_register_event_source(fila_eventos, al_get_display_event_source(janela));
    



    //Loop principal
    while (!fim) {
        ALLEGRO_EVENT ev;

        al_wait_for_event(fila_eventos, &ev);

        if (ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE) {
            fim = true;
        }

        al_draw_bitmap(rline, 120, 220, 0);
        al_flip_display();
        al_clear_to_color(al_map_rgb(0, 0, 0));
    }
    
    al_destroy_display(janela);
    al_destroy_bitmap(rline);
    al_destroy_event_queue(fila_eventos);

    return 0;
}
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.