Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Załóżmy że posiadam jakąś bitmapę... Co zrobić, jeśli chcę nakładać na nią kilka różnych masek prześwitu, w zależności od akcji? (wiecie,... te "set_sprite_alpha_from_sprite();" )

Kombinowałem coś takiego, ale nie działa (przeczytacie kod - będziecie wiedzieć o co mi chodzi)...

If akcja = true

{ set_sprite_alpha_from_sprite( sprite , choose( maska1 , maska2 , maska3 );

draw_sprite_ext(sprite.... ****); }

Sęk w tym, że maska losuje tylko RAZ. Co zrobić?

Robienie kilku spritów, i indeksowanie ich do masek (1 sprite - 1 maska) odpada. Musi być jakieś rozwiązanie...

 

Halp!

Opublikowano

Można spróbować narysować sprite z maską na surface, potem sprite_create_from_surface, dać maskę nr 2, znowu narysować, utworzyć i dać maskę nr 3.

 

e:jeśli to nie to, to znaczy że nie zakapowałem.

Opublikowano

To jest tak że dla obrazka tylko raz można dać maskę prześwitu, ale zawsze można zrobić 2 te same obrazki, czyli np:

 

If akcja = true

{ if sprite_exists(tempsprite) sprite_delete(tempsprite);

tempsprite=sprite_duplicate(sprite)

set_sprite_alpha_from_sprite( tempsprite, choose( maska1 , maska2 , maska3 );

draw_sprite_ext(tempsprite.... ****); }

 

w create musi być tempsprite=-1; albo przed "if sprite_exists..." daj " if !variable_local_exists('tempsprite') tempsprite=-1; "

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...