JerryJohn Opublikowano 22 Lipca 2013 Udostępnij Opublikowano 22 Lipca 2013 Witam, Zrobiłem sobie taką oto minimapę: http://www.gmclan.org/up8765_12_minimap.html Wyświetlany jest fragment sprite'a odpowiadajacy głównemu view powiększony o odpowiednie offsety( _ol i _ot ). Mam problem z rysowaniem pozycji gracza w określonym przedziale. Kiedy pozycja view z offsetami jest większa od 0 działa OK: miniatura gracza jest w centrum minimapy i przesuwa się razem z nią. Problem jest kiedy minimapa dojdzie do brzegu rooma, wtedy ona się zatrzymuje i to jest OK, ale pozycja gracza też się zatrzymuje aż do momentu kiedy dojdzie bardzo blisko brzegu (wtedy zaczyna działać ten warunek który tam wykminiłem na dole), a powinien on się dalej poruszać (tak jak i właściwy obiekt gracza). Zatrzymać w danej osi powinien się tylko wtedy kiedy minimapa zaczyna się po tej osi przesuwać. Żeby zobaczyć o co mi chodzi wystarczy przesuwać obiekt gracza cały czas np, w dół (LPM) i obserwować jego miniaturę na minimapie. Powinno to działać dokładnie tak samo jak działa view w roomie, podążający za obiektem, z tą różnicą że minimapa jest poszerzona o te offsety. Będę wdzięczny jeśli ktoś w to zajrzy i pomoże naprawić :) Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 23 Lipca 2013 Udostępnij Opublikowano 23 Lipca 2013 troche mi trwalo zanim ogarnolem wszystike zmienne i ogole. twoj problem jest v ignoraci roznych rozmiarow sprite i pomiaru dlugosci stron A i B ten script akceptuje inne rozmiary: GML //SCRIPT DrawMinimap() _sca=sprite_get_width(sprite0) /room_width; _scb=sprite_get_height(sprite0)/room_height; _scale=2 _scv_x=(view_xview[0])*_sca; _scv_y=(view_yview[0])*_scb; _scv_w = view_wview[0]*_sca; _scv_h = view_hview[0]*_scb; _mx = oUI.x+800-250+2; _my = oUI.y+61; draw_set_color(c_red); draw_sprite_part_ext( sprite0,0, _scv_x, _scv_y, _scv_w, _scv_h, _mx, _my,_scale,_scale,c_yellow,.8); _px=(( oP.x*_sca)-_scv_x)*_scale; _py=(( oP.y*_scb)-_scv_y)*_scale; draw_set_color(c_red); draw_rectangle( _mx+_px-1,_my+_py-1,_mx+_px+1,_my+_py+1,0 ); jak bedzie trza, to dam popatrzec na gmk :) 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ę