Skocz do zawartości

View dla dwóch graczy


Rekomendowane odpowiedzi

Cześć. Mam zapewne banalne pytanie, ale nigdy nie bawiłem się viewami, więc to dla mnie jest czarna magia :D

Mianowicie mam 2 graczy. Każdy z nich jest tym samym obiektem(obj_gracz).

 

I tutaj jest pytanie, ponieważ normalnie view podąża za graczem 1, a jak zrobić jedną z poniższych rzeczy:

1)Żeby po oddaleniu się od siebie view albo się przecinał na pół o tak:

 

gracz|gracz

 

2)Że po coraz dalszym oddaleniu kamera bd się oddalać.

 

3)Środek kamery jest zawsze między graczami.

Odnośnik do komentarza
Udostępnij na innych stronach

Pierwszy przypadek najłatwiej rozwiązać tworząc 3 osobne view. Jeden na cały ekran i dwa osobne. Potem trzeba sprawdzać czy któryś z graczy wyszedł poza ten cały view i wtedy aktywować te podwójne.

 

Drugie jest najtrudniejsze i tak naprawdę niezbyt efektowne. Musisz pierw zrobić trzeci przypadek, który jest dość prosty:

GML
view_xview[0]=mean(gracz1.x,gracz2.x)-(view_wview[0]/2)

view_yview[0]=mean(gracz1.y,gracz2.y)-(view_hview[0]/2)

Tłumacząc: Ustaw pozycję x view na połowę długości pomiędzy obiektami i odejmij pół szerokości view żeby było na środku. To samo dla y.

 

Teraz wracając do drugiego sposobu. masz wycentrowaną kamerę pomiędzy graczami i teraz musisz przeskalować zmienne view_wview oraz view_hview o taką samą wartość aby mieściły się na ekranie. Wykorzystaj proporcje pomiędzy odległością obiektów.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Miej na uwadze że każdy aktywny view to dodatkowe wywoływanie eventu draw dla wszystkich instacji. Jak robisz grę z wieloma viewami to nie wsadzaj do drawu żadnego kodu nie związanego bezpośrednio z rysowaniem.

Słuszna uwaga. Wpisanie głupiego x+=1 sprawi, ze w jednej klatce obrazu 2x się wykona ten kod.

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