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>
|
|
Bajt Temat założony przez niniejszego użytkownika |
» 2013-08-09 18:13:16 Więc, cóż, ma ktoś jakieś pomysły? |
|
MrPoxipol |
» 2013-08-09 18:22:09 Coś robisz źle, może czegoś nie kopiujesz. Najlepiej: 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ł. |
|
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: #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; } 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. |
|
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. |
|
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. |
|
SeaMonster131 |
» 2013-08-09 21:14:37 |
|
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? |
|
1 2 3 « 4 » 5 6 7 |