Witam, mam pytanie czy ktoś z Was pisał jakąś aplikację/grę pod allegro.h i robił przezroczyste grafiki w formacie *.png, który to bowiem obsługuje przezroczystość.
Mam mały problem polegający na tym, że grafikę zapisaną w postaci png chce wyświetlić na ekran z pełną przezroczystością. Pełna przezroczystość rozumiem w ten sposób, że nie muszę używać różowego tła. Chciałbym, w aplikacji działała przezroczystość pixeli zawarta w png. Wiem, że można takie coś obsłużyć, jednak po kilku godzinach szukania nie mogę odnaleźć odpowiedniej funkcji.
Do tej pory używam następujących funkcji po kolei:
// Użyte biblioteki
#include <allegro.h>
#include <alpng.h>
// Graficzne zmienne klasy
BITMAP *bufor, *p1_gfx;
// Konstruktor klasy
allegro_init();
alpng_init();
// Destruktor klasy
destroy_bitmap(bufor);
destroy_bitmap(p1_gfx);
allegro_exit();
// Wywołanie wypisania na ekran w jednej z metod:
masked_blit(p1_gfx,bufor,0,0,p1.x,p1.y,p1_gfx->w,p1_gfx->h);
// szukam odpowiednika funkcji powyżej, która wrzuci do bufora grafikę z przezroczystym tłem, tak jak w pliku png.
Nie wrzucałem całości, bo troszkę za dużo tego kodu by było.
Jeśli ktoś z Was zrobił kiedykolwiek przezroczystość to na pewno będzie wiedział o jaką funkcje chodzi.
Z góry dzięki za pomoc. Pozdrawiam
W razie jak ktoś chciałby powiedzieć/wiedzieć coś więcej, co może przybliżyć rozwiązanie to chętnie posłucham.
#Update:
Użycie:
draw_sprite(p1_gfx,bufor,p1.x,p1.y);
Powoduje zniknięcie grafiki o nazwie "p1_gfx". Nie pojawia się ona w ogóle. Tak więc funkcja jest kopnięta lub źle jej używam.