Skocz do zawartości

Prześwitywanie


Gość

Rekomendowane odpowiedzi

Siemka :) Napotkałem kolejny problem, który mam od samego początku projektu. Otóż, mam obiekt shield, w którym w create dałem

GML
sprite_set_alpha_from_sprite(spr_shield, spr_shield_mask);

No i jak ten obiekt postawie w roomie, to prześwitywanie działa dobrze, ale jak utworzy się ten obiekt przez zniszczenie innego obiektu, to prześwitywania nie ma. Tak jakbym postawił obiekt bez alphy. Mam też inny obiekt, który ma tak samo zrobione jak ten i przy tworzeniu w roomie i w tworzeniu podczas gry - działa dobrze. Dodam, że w ustawieniach rooma mam zaznaczone rysowanie koloru tła.

Czym to może być spowodowane? Z góry dzięki :)

Odnośnik do komentarza
Udostępnij na innych stronach

zapodaj info obiektu o ktorym piszesz

Odnośnik do komentarza
Udostępnij na innych stronach

Information about object: obj_shield

Sprite: spr_shield
Solid: false
Visible: true
Depth: -2
Persistent: false
Parent: <no parent>
Mask: <same as sprite>

Create Event:
execute code:

sprite_set_alpha_from_sprite(spr_shield, spr_shield_mask);

Step Event:
execute code:

x = obj_statek.x;
y = obj_statek.y;

 

E: Dodam, że maska jest zrobiona poprawnie ;)

Odnośnik do komentarza
Udostępnij na innych stronach

hmm, no tu jest dobrze, a to pokaz info obiektu w ktorym tworzysz tarcze przy niszczeniu obiektu, tak jak napisales tu: "ale jak utworzy się ten obiekt przez zniszczenie innego obiektu, to prześwitywania nie ma"

Odnośnik do komentarza
Udostępnij na innych stronach

Sorry, nawet zapomniałem jak ta tarcza się tworzy. Tworzy się ona przy kolizji z power up'em.

Information about object: obj_shield_pu

Sprite: spr_shield_pu
Solid: false
Visible: true
Depth: -3
Persistent: false
Parent: <no parent>
Mask: <same as sprite>

Create Event:
execute code:

sprite_set_alpha_from_sprite(spr_shield_pu, spr_shield_pu_mask);
alpha = 1;
dir = 0;

Step Event:
execute code:

if (alpha >= 1)
    {
        alpha -= 0.1;
    }
if (alpha <= 0.1)
    {
        alpha += 0.1;
    }

dir += 10;

image_angle = dir;

speed = -15;

Collision Event with object obj_statek:
execute code:

effect_create_above(ef_ring, x, y, 1, c_blue);
obj_statek.defensed = 1;
instance_destroy();

Other Event: Outside Room:
execute code:

instance_destroy();

Kolizja z power up'em

 

Kontrola tego 'obj_statek.defensed = 1':

GML
if (defensed == 1)

{

alarm[1] = 300;

instance_create(x, y, obj_shield);

}

 

if (defensed == 0)

{

if (instance_exists(obj_shield))

{

with (obj_shield) { instance_destroy(); }

}

}

 

//ALARM 1

defensed = 0;

Chyba dobre dałem :P

Odnośnik do komentarza
Udostępnij na innych stronach

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ę...