Ice Cube Opublikowano 14 Maja 2021 Udostępnij Opublikowano 14 Maja 2021 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 komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 15 Maja 2021 Udostępnij Opublikowano 15 Maja 2021 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 Ice Cube 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę