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

[Allegro] Formaty obsługiwanych plików.

Ostatnio zmodyfikowano 2013-08-10 19:18
Autor Wiadomość
Bajt
Temat założony przez niniejszego użytkownika
» 2013-08-09 15:31:48
A więc zrobiłem tak:
Wypakowałem ponownie zawartość folderu alpng13 do folderu w którym znajduje się aplikacja make.exe.
Otworzyłem cmd  i wpisałem ścieżkę do tego folderu
cd C:\Program Files\GnuWin32\bin
następnie polecenie
make
i moim oczom ukazało się log


gcc -03 -Wall -Wextra -ansi -Isrc -c src/alpng_save.c -o objects/alpng_save.o
process_begin : CreateProcess <NULL, gcc -03 -Wall _w>
g_save-c -o objects/alpng_save.o -DALPNG_ZLIB=1,...>failed
make <e=2>: Nie można odnaleźć określonego pliku.
make: *** [objects/alpng_save.o]Error 2
</log>
P-89806
Bajt
Temat założony przez niniejszego użytkownika
» 2013-08-09 18:13:16
Więc, cóż, ma ktoś jakieś pomysły?
P-89826
MrPoxipol
» 2013-08-09 18:22:09
Coś robisz źle, może czegoś nie kopiujesz.
Najlepiej:
  • Wypakuj folder z alpng do np. C:\alpng
  • Uruchom konfigurację.
  • Skopiuj make.exe (z ze wszystkim co potrzebne do folderu z alpng)
  • Wejdź do cmd i przejdź do katalogu z alpng (C:\alpng)
  • Spróbuj użyć make.
Możesz jeszcze spróbować skompilować pod MSYS od MinGW.

Ewentualnie użyj masked_blit jak wcześniej Ci doradzono - myślę, że jest to najlepszy pomysł.
P-89828
Bajt
Temat założony przez niniejszego użytkownika
» 2013-08-09 18:30:52
Faktycznie, chyba dam sobie z tym spokój, bo nadal wywala ten sam błąd. A co do tego masked_blit. Mam taki podstawowy kod:
C/C++
#include <allegro.h>

int main( int argc, char * argvc[] )
{
    allegro_init();
    install_keyboard();
    install_mouse();
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 );
    set_palette( default_palette );
    clear_to_color( screen, 48 );
   
    BITMAP * background = NULL;
    BITMAP * P1 = NULL;
    BITMAP * P2 = NULL;
    background = load_bmp( "background.bmp", default_palette );
    if( !background )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "ERROR: Program can not load 'background.bmp' file." );
        allegro_exit();
        return 0;
    }
    blit( background, screen, 0, 0, 0, 0, background->w, background->h );
    P1 = load_bmp( "P1.bmp", default_palette );
    if( !P1 )
    {
        set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
        allegro_message( "ERROR: Program can not load 'P1.bmp' file." );
        allegro_exit();
        return 0;
    }
    //control for P1 "W,A,S,D"
    int P1_x = 130, P1_y = 220;
    while( !key[ KEY_ESC ] )
    {
        if( key[ KEY_A ] ) P1_x--;
       
        if( key[ KEY_D ] ) P1_x++;
       
        if( key[ KEY_W ] ) P1_y--;
       
        if( key[ KEY_S ] ) P1_y++;
       
        masked_blit( P1, screen, 0, 0, P1_x, P1_y, P1->w, P1->h );
    }
   
    readkey();
    destroy_bitmap( background );
    destroy_bitmap( P1 );
    destroy_bitmap( P2 );
   
    remove_keyboard();
    remove_mouse();
    allegro_exit();
    return 0;
}
END_OF_MAIN();
Gdzie powinienem użyć tej funkcji żeby mój obraz został wyświetlony bez tła? Niby jest ona mi dobrze znana i używam jej przy wyśwtielaniu pozycji postaci na osi x/y, ale jakoś ona wyświetla całą bitmapę z tłem.
P-89830
Bajt
Temat założony przez niniejszego użytkownika
» 2013-08-09 21:02:09
MrPoxipol
Ty miałeś jakąś koncepcję związaną z tą funkcją. Mógłbyś mnie napowadzić gdzie i jak mógłbym użyć tej funkcji w moim kodzie, aby obrazek wyświetlał się bez tła?
Będę męczył się z tym tak długo, aż nie znajdę rozwiązania.
P-89853
MrPoxipol
» 2013-08-09 21:12:55
@up
Nigdy nic w Allegro nie pisałem, więc nie mam pojęcia jak użyć masked blit. W google zapewne dużo o tym jest.
Frazy, które należy wpisać w wyszukiwarkę google:
P-89855
SeaMonster131
» 2013-08-09 21:14:37
P-89857
Bajt
Temat założony przez niniejszego użytkownika
» 2013-08-09 21:25:41
[edit]
Okej, przecież masked_blit pomija różowe piksele! Tak więc w artykule na forum na temat tej funkcji jest błąd bo kolor(255,0,255) w systemie RGB wcale nie daje różowego lecz żółty. Tak więc zmieniłem tło na różowe i teraz nie widać już białego tła. Tylko teraz tak naprawdę mi to nic nie dało, bo kiedy poruszam moim ludzikiem to pozostają po nim jakieś dziwne smugi,a on cały zmienia się w czarny cień. Wie ktoś, z jakiej to może być przyczyny?
P-89858
1 2 3 « 4 » 5 6 7
Poprzednia strona Strona 4 z 7 Następna strona