Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro] Konsola + biblioteka allegro

Ostatnio zmodyfikowano 2008-06-07 22:33
Autor Wiadomość
lynx
Temat założony przez niniejszego użytkownika
» 2008-06-07 16:59:49
Twojego programu jak nie skompilowałem tak nie skompilowałem, ale zauważyłem, że jeżeli twój kod wkleje do kodu który automatycznie się tworzy po przyciśnięciu ikonki allegro (static) w dev c++ przy tworzeniu nowego projektu. Kod wygląda tak, i działa bezproblemowo:

C/C++
#include <allegro.h>

void init();
void deinit();

int main() {
    init();
   
    while( !key[ KEY_ESC ] ) {
        set_color_depth( 8 );
        set_gfx_mode( GFX_AUTODETECT, 800, 600, 0, 0 );
        set_palette( default_palette );
        clear_to_color( screen, 48 );
        textout_ex( screen, font, "Witaj w Allegro !", 20, 20, makecol( 255, 0, 255 ), - 1 );
       
        readkey();
    }
   
    deinit();
    return 0;
}
END_OF_MAIN()

void init() {
    int depth, res;
    allegro_init();
    depth = desktop_color_depth();
    if( depth == 0 ) depth = 32;
   
    set_color_depth( depth );
    res = set_gfx_mode( GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0 );
    if( res != 0 ) {
        allegro_message( allegro_error );
        exit( - 1 );
    }
   
    install_timer();
    install_keyboard();
    install_mouse();
    /* add other initializations here */
}

void deinit() {
    clear_keybuf();
    /* add other deinitializations here */
}


Skasowałem dwie pierwsze i ostatnie linijki, bo były już w void init(); i void deinit(); No i nie wiem dlaczego ale program działa bezproblemowo :D

I co teraz zawsze musze pisać aplikacje z przykładu?
P-820
DejaVu
» 2008-06-07 20:07:59
Jak tworzysz program z przykładu, tworzy Ci się projekt. Projekt ten jest skonfigurowany tak, aby działał pod nim allegro. Możesz tworzyć własne projekty i konfigurować go tak, aby działało pod nim allegro. Możesz też wykorzystywać projekt, który jest dostępny w Dev-C++ po zainstalowaniu allegro i czyścić zawartość całego pliku *.cpp, a następnie klepać tam własne rzeczy.
Jeśli wejdziesz sobie w ustawienia projektu zobaczysz, że w kilku miejscach są wpisane linijki dzięki którym można korzystać z biblioteki allegro.
P-827
lynx
Temat założony przez niniejszego użytkownika
» 2008-06-07 21:21:24
Aha czyli to dlatego program działa w projekcie z przykładu a tak nie, a więc miałeś całkowitą racje chodzi tu o konfigurację. Tylko że ja jeszcze praktycznie nigdy tego nie robiłem :/. A więc po przeglądam konfigurację przykładu i zapiszę ją sobie na kompie w postaci pliku tekstowego, a później będę wklejał.


A czy jakbym skopiował konfigurację do "jakiejś tam domyślnej opcji projektu" to by działało na każdego typu programach, tych z allegro i nie?
P-830
lynx
Temat założony przez niniejszego użytkownika
» 2008-06-07 22:33:33
Haha.. skompilowałem twój kod  ...ufff w końcu będę mógł coś pomajstrować z allegro. :) Skopiowałem opcje konsolidatora itp. z przykładu do domyślnych opcji kompilatora, teraz już będę miał problem z głowy :D  Wielkie dzięki, teraz tylko muszę napisać ten stary program, bo po reinstalacji dev-c++ go nie skopiowałem, jeszcze raz dzięki.



Otwieram, temat ponieważ mój problem nie został do końca rozwiązany, przynajmniej drugi.


Kompilować programy w allegro kompiluję, ale...
Nadal mam problem z funkcją readkey();, próbowałem zastąpić ją getch();, jest lepiej, bo coś widać, tylko, że jak nacisnę przycisk to okno się nie kasuje. Używam opcji projektu Win32 Konsola, bo w GUI wogóle nie mam konsolki na początku programu. A więc czy znacie jeszcze jakąś funkcję, zatrzymującą program do naciśnięcia przycisku?



Zamykam temat, bo udało mi się rozwiązać problem. Wystarczyło dodać funkcję install_keyboard(); i readkey(); działa poprawnie.
P-831
1 2 « 3 »
Poprzednia strona Strona 3 z 3