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;
}