[C++] [allegro.h] [alfont.h] Problem z obsługą czcionek


(Eaxpl) #1

Witam mam problem z wstawieniem czcionek typu ttf do projektu c++ wykorzystującego biblioteke allegro ( 4.2.2). Chciałem do tego celu użyć biblioteki allegro fonts ( alfont.h v 1.9.2 with FT 2.1.9 ). Z kilku przykładów udało mi się napisać prosty program który najzwyczajniej wyświetla tekst " Moglo by zadzialac " przy pomocy czcionki arial znajdującej się w bieżącym katalogu pod nazwą arial.ttf

#include 

#include 

#include 

#include 

#include 


using namespace std;


int main()

{

    allegro_init();

    install_mouse();

    install_keyboard();

    set_color_depth(32);



    /*

    * initializes the library. You must run this, otherwise you're program will crash.

    */

    alfont_init();

    set_gfx_mode(GFX_AUTODETECT, 800, 600, 0, 0);



    ALFONT_FONT* copperplate_font = alfont_load_font("arial.ttf");


    alfont_textprintf_ex(screen, copperplate_font, 5, 5,makecol(50, 30, 180), -1,"Moglo by zadzialac");



    getch();


    /*

    * you must ALWAYS run alfont_exit. Do not forget, or you will die a horrible death.

    */

    alfont_exit();



    return 0;

} END_OF_MAIN();

Program kompiluje się bez problemowo jednak po uruchomieniu nic się nie dzieje. Na chwile pojawia się czarny ekran, a potem program wraca do windowsa. Czy ktoś wie w czym problem ?

Ps. Korzystam z Dev c++ 4.9.9.2


(kalamita) #2

usuń END_ON_MAIN

i być może w Twoim kompilatorze zamiast

return 0; wpisz getch();


(Eaxpl) #3

Nie o to chodziło ..... ale dzięki tobie zauważyłem błąd ... zamiast getch(); , które działa pod konsolą powinno być readkey(); -.-' program działa. Dzięki za pomoc

#include 

#include 

#include 

#include 

#include 


using namespace std;


int main()

{

    allegro_init();

    install_mouse();

    install_keyboard();

    set_color_depth(32);



    /*

    * initializes the library. You must run this, otherwise you're program will crash.

    */

    alfont_init();

    set_gfx_mode(GFX_AUTODETECT, 800, 600, 0, 0);



    ALFONT_FONT* copperplate_font = alfont_load_font("arial.ttf");


    alfont_textprintf_ex(screen, copperplate_font, 5, 5,makecol(50, 30, 180), -1,"Moglo by zadzialac");



readkey();

    /*

    * you must ALWAYS run alfont_exit. Do not forget, or you will die a horrible death.

    */

    alfont_exit();



    return 0;

} END_OF_MAIN();

(Dudek95) #4

hm... a mi zaś podczas kompilacji wyskakuje błąd fatal error C1189: #error : Allegro can only be used with djgpp jak z tym jest u Ciebie?

Heh widzę, że problem już rozwiązany...


(Eaxpl) #5

a z jakiego kompilatora korzystasz ?


(Dudek95) #6

MS Visual Studio 5.

Dev nie ma biblioteki allegro i alfont i nie tylko to.


(Eaxpl) #7

Pewnie że nie ma :smiley: Musisz zainstalować odpowiednie Devpaki