Skocz do zawartości

Rekomendowane odpowiedzi

Chciałbym aby w ciągu 60 sekund jeden obiekt pojawił się, a drugi zniknął przy uzyciu alpha, oczywiście uwzjgędniając w obliczeniu

by nie dzielic przez zero.

Drugi obiekt jakos nie działa.. nie mam pomysłu na niego

 

 

sekunda+=1 if sekunda>59 end

 

draw_set_alpha(sekunda*0.016666)

draw obj1

 

draw_set_alpha(1/sekunda)

draw_obj2

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeżeli chcesz zamienić bieguny wartości 0.0 - 1.0 oraz 1.0 - 0.0 w oparciu o jedną zmienną, to najprościej użyć odejmowania, np.:
 

// W zdarzeniu Create inicjujemy potrzebne nam zmienne
// Licznik czasu oraz czas w jaki ma zmienić się alpha np. w 2 sekundy
sekunda = 0.0;
fade_time = 2.0;

// Przy aktualizacji klatki dodajemy kolejne wartości zmiennej sekunda w zdarzeniu Step
// Ale uwaga! Liczymy cząstkową sekundy na daną klatkę rysowania (tzw. delta time)
var delta = 1.0 / room_speed;
sekunda += delta;

// Teraz możemy policzyć przezroczystość sprite'ów w zdarzeniu Step
// Dodatkowo wartość clampujemy do maksymalnej 1.0
var alpha = min(1.0, sekunda / fade_time)

// Pierwszy sprite z przezroczystością 0.0 - 1.0 ustawiamy w zdarzeniu Step
// PS. draw_set_alpha służy do ustawiania alphy dla komend draw_*, zamiast tego użyjemy image_alpha
image_alpha = alpha 

// Dugi sprite z przezroczystością 1.0 - 0.0 ustawiamy w zdarzeniu Step
// Z racji, że wartośc alpha rośnie od 0.0 do 1.0, musimy zamienić bieguny używając odejmowania
image_alpha = 1.0 - alpha

 

  • Super (+1) 1
Odnośnik do odpowiedzi
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ę...