Skocz do zawartości

Przesuwanie viewa


Phoenix

Rekomendowane odpowiedzi

Okej, mam banalny problem, a nie za bardzo pamiętam jak to się robiło.

 

Chciałbym, żeby kursor przesuwał mi viewa jak np. w RTS'ach. Ktoś ma może jakieś szybkie i proste rozwiązanie.

 

 

I tak, używałem funkcji szukaj i Przykładów na stronie GMClanu :).

Odnośnik do komentarza
Udostępnij na innych stronach

no to tak :

GML
if mouse_x-view_xview<view_xview+50

view_xview-=5

if mouse_x-view_xview>view_xview+view_wview-50

view_xview+=5

if mouse_y-view_yview<view_yview+50

view_yview-=5

if mouse_y-view_yview<view_yview+view_hview-50

view_yview+=5

pamietaj ze to pseudo kod i da sie to zrobić napewno lepiej i ładniej, ale powinno działać

Odnośnik do komentarza
Udostępnij na innych stronach

Ktoś wie jak zrobić zoomowanie, ale konkretnie przybliżanie do punktu gdzie jest myszka? Wystarczą sugestie :).

Zoom to będzie różnica procentowa pomiędzy rozmiarami port i view. Zrób sobie zmienną np zoom=1, a następnie ustawiaj wielkość view jako port*zoom

Problemem jeszcze jest pozycja view. Ponieważ zoom sprawia że widzimy mniej/więcej, ale pozycja view_xview[] i y zostaje taka sama to zoom działa względem lewego górnego rogu. Trzeba przemnażać przez jakąś wartość żeby się odsuwał przy zoom. Trochę jest tam kombinowania z matematyką ale to zwykłe proporcje.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Zrobiłem sobie przesuwanie obiektów "HUDowych" przy użyciu:

x = view_xview[1]+50
y = view_yview[1]+100

 

wiem, ze to prostacie, ale właśnie dlatego pytam się Was:

przesuwany obiekt "szarpie" jak się przesuwa. Jak to najlepiej poprawić?

 

Z góry dzięki za pomoc :).

Odnośnik do komentarza
Udostępnij na innych stronach

Zainstalowałem GM:Studio i użyłem Begin DrawGUI, na ten moment działa (testowałem na jednym obiekcie, ale podobnie mają działać inne), więc myślę, że jest ok.

 

W swojej grze zrobiłem również zoomowanie i opiera się na bardzo prostym:

GML
view_wview[1] -=15

view_hview[1] -=15

w Mouse Wheel Up, a w Mouse Wheel Down jest:

GML
view_wview[1] +=15

view_hview[1] +=15

 

I teraz mam problem, że skaluje mi wszystkie obiekty i zastanawiam się, co elementy GUI muszą mieć w kodzie, żeby "przeciwdziałały" temu zoomowaniu. Jakieś pomysły?

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