Проблема с функцией al_map_rgb в Allegro5 - PullRequest
0 голосов
/ 29 февраля 2020

Ошибка должна быть в al_map_rgb (), потому что без этой функции я не получил ошибку в консоли.

Можете ли вы сказать мне, где я сделал ошибку? Может быть, я должен включить какую-либо библиотеку или что-то вроде этого? Есть ли альтернатива для этой функции, которую я могу использовать? Ниже мой код.

#include <allegro5/allegro.h>
#include <allegro5/allegro_native_dialog.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_ttf.h>
#include <allegro5/color.h>
#include <stdio.h>
#include <stdlib.h>

#define ScreenWidth 800
#define ScreenHeight 600


void checkAllegroFontLoad(ALLEGRO_FONT *font, ALLEGRO_DISPLAY* display){
    if(font)
        al_show_native_message_box(display, "Font Loaded!", "Font Checked!",0,0,ALLEGRO_MESSAGEBOX_OK_CANCEL);
}

void checkAllegroDisplay(ALLEGRO_DISPLAY* display){
     if(!display)
        al_show_native_message_box(display,"ERROR","CANT CREATE A DISPLAY","Couldnt create Screen",NULL, ALLEGRO_MESSAGEBOX_ERROR);
}

int main()
{
    if(!al_init())
        al_show_native_message_box(NULL,NULL,NULL,"Allegro couldnt initialize",NULL,NULL);

    //Display
    ALLEGRO_DISPLAY* display;
    display = al_create_display(ScreenWidth,ScreenHeight);
    al_set_window_title(display, "Fonts");

    checkAllegroDisplay(display);

    //Fonts
    al_init_font_addon();
    al_init_ttf_addon();
    ALLEGRO_FONT *font = al_load_font("NickelBumpy.ttf", 36, NULL);

    checkAllegroFontLoad(font, display);

    //ERROR HERE
    al_clear_to_color(al_map_rgb(0,0,0));
    al_draw_text(font, al_map_rgb(0,255,0), ScreenWidth / 2, ScreenHeight / 2, 0, "START");

    //Finishing
    al_flip_display();
    al_rest(2.0);
    al_destroy_font(font);
    al_destroy_display(display);
    return 0;
}
...