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

SFML - kolor kluczowy

Ostatnio zmodyfikowano 2010-12-04 08:48
Autor Wiadomość
Elaine
» 2010-12-03 15:31:29
Wiesz, że nie wywołałeś tej metody...?
P-24801
Handy90
Temat założony przez niniejszego użytkownika
» 2010-12-03 23:10:39
Nie podałem bo nie wiem co w niej napisać i gdzie to wkleić.
P-24807
F90M
» 2010-12-04 08:48:00
Warto by zajrzeć do dokumentacji SFLM'a, jest tam opisana metoda CreateMaskFromColor().
Używasz jej dopiero po załadowaniu obrazka z pliku, a czy użyjesz jej po stworzeniu sprite'a czy przed to już twoja decyzja.
Przykładowo powinno wyglądać to tak:
C/C++
sf::Image Image;
if( !Image.LoadFromFile( "image.png" ) )
     return EXIT_FAILURE;

Image.CreateMaskFromColor( sf::Color( 255, 255, 255 ), 0 );
Pierwszy parametr to kolor który ma być przeźroczysty, drugi to alpha czyli jak bardzo ma być przeźroczysty (0 - całkowicie przeźroczysty, 255 - nieprzeźroczysty). Kolor możesz podawać także za pomocą zdefiniowanych w SFML'u stałych:
Image.CreateMaskFromColor( sf::Color::White, 0 );
.

Edit:
Co do hurtowej zmiany koloru na alfę to możesz zrobić tak:
C/C++
sf::Image Image[ 20 ];
if( !Image[ 0 ].LoadFromFile( "image.png" ) )
     return EXIT_FAILURE;

...

for( int i = 0; i < 20; ++i )
     Image[ i ].CreateMaskFromColor( sf::Color( 255, 255, 255 ), 0 );

Aby poprawić sobie czytelność programu, możesz zrobić coś takiego
C/C++
#define _gracz Image[0]
#define _wrog Image[1]
#define _mapa Image[2]
#define _objekt1 Image[3]
#define _obiekt2 Image[4]
P-24814
1 « 2 »
Poprzednia strona Strona 2 z 2