Skocz do zawartości

wstrzas ekranu


karolo320

Rekomendowane odpowiedzi

Siemka, chciałem zrobić w mojej grze wstrzas ekranu i mam taki problem.

Najpierw spróbowałem poprostu view_xview+8, view_yview+8, ale nie zadziałoło, przyczyną było chyba ustawione we viewie view_object. Następnie zrobiłem tak, że tworzę object trzas, przelaczam na niego view, i on sie trzesie. I to ładnie działało, aż nie stanąłem przy krawędzi rooma, wtedy się nie trzas, bo view nie chciał wyjść za room. I teraz moje pytanie:jak przełączać się między viewami(nigdy tego nie robiłem) w celu, że na pierwszym mam view_object=bohater, a na drugim nie, i będę trząsł tym drugim i przełączał na pierwszy. I pytanie 2: Da się wyłączyć view_object? Jeśli znacie innego rozwiązania to piszcie :D

Odnośnik do komentarza
Udostępnij na innych stronach

Port byłby tutaj najlepszy:

Obiekt kontroler

GML (Create)
// Stałe

wst_sila = 10; // w px

wst_czas = 60; // 2s, jeżeli room_speed == 30

// Zmienne

wstrzas = wst_czas; // kontroluje wstrząśnięcie, patrz dalej</span>

GML (Step)
if (wstrzas < wst_czas)

{

var sila;

sila = wst_sila*(wst_czas-wstrzas)/wst_czas;

view_xport[0] = random_range(-sila, sila);

view_yport[0] = random_range(-sila, sila);

wstrzas += 1;

}

else

{

view_xport[0] = 0;

view_yport[0] = 0;

}

 

I teraz, jeżeli korzystasz z viewu 0, view_xport i view_yport masz ustawione na 0 i ustawisz podczas gry zmienną wstrzas na 0, powinno ci wstrząsnąć ;)

 

EDIT: A jednak nie wstrząśnie. Nie wiem czemu, port nie może być < 0, podobnie jak view.

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