I am vader Opublikowano 29 Grudnia 2016 Udostępnij Opublikowano 29 Grudnia 2016 Ponieważ używanie innych wbudowanych hitboxów niż prostokątów to głupota w przypadku GM. Elipsa jest tak wolna jak pixel-perfect ponieważ jest obliczana pixel perfect. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 5 Stycznia 2017 Udostępnij Opublikowano 5 Stycznia 2017 Top down.Zależy mi na tym żeby kamera obracała się płynnie razem z obrotem postaci, tak jak np. Póki co mam coś takiego: Step: GML //plynny obrot postaci za myszka - dziala tak jak powinno var pd = point_direction(x, y, mouse_x, mouse_y); var dd = angle_difference(image_angle, pd) var ob =6 image_angle -= min(abs(dd),ob) * sign(dd); direction=image_angle //obrot view// var an = image_angle - 90; if (mouse.x!=mouse.xprevious){ view_angle[0] = -an; } Zeby uniknąć nieustannych obrotów nawet kiedy myszka sie nie rusza stworzylem obiekt mouse podazajacy za ruchem myszy. Ogolny efekt jest beznadziejny, ekran lata non stop na boki, pelen chaos-jak uda sie zatrzymac myszke w punkcie to spokoj, najlzejszy ruch od razu lata ekran jak opętany- w niczym to nie przypomina efektu z Take No Prisioners ;p Za płynność obrotu odpowiada "ob" ale mniejszy zamula ruchy totalnie,a wyzszy to juz w ogole epilepsja? Jakies propozycje?Moze ktos zna jakis system kamer z GM marketu (nawet platny) ktory by oferowal taka funkcje?Probowalem z marketu Views2.0 ale nie sprawdza sie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Stycznia 2017 Administratorzy Udostępnij Opublikowano 5 Stycznia 2017 1. czy to na pewno jest obracane myszką? 2. jeśli tak - to wydaje mi sie, ze tutaj po ruszeniu myszką wraca się ją na pozycję połowy okna, dlatego nie skacze jak nie ruszasz, tak samo jak w przykładach FPSów w GM Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 5 Stycznia 2017 Udostępnij Opublikowano 5 Stycznia 2017 Wymyśliłem sposób na obejście skoków- image_angle gracza (wg kóre ustawia się view_angle) podąża nie za pozycją kursora a za obiektem "mouse"-które to z kolei porusza się w kierunku kursora GML xx=mouse_x yy=mouse_y mp_linear_step(xx,yy ,16,0) Daje to całkiem satysfakcjonującą płynność obrotu- ALE w momencie kiedy gracz znajdzie się za blisko obiektu "mouse" to zaczyna się wirowanie obrazu i chaos.Więc tutaj pytanie - jak zrobić żeby obiekt "mouse" nigdy nie zbliżył się do gracza bliżej niż określona odległość-ale równocześnie poruszał się w kierunku kursora.Zapewne najlepsza byłaby forma orbitowania,ale lenghtdiry to dla mnie koszmar.Potrafię zrobić obiekt który jest w stałym miejscu w kole ale żeby z tej pozycji poruszać się do punktu to już gorzej Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 5 Stycznia 2017 Udostępnij Opublikowano 5 Stycznia 2017 Z pamięci piszę GML xx=mouse_x yy=mouse_y if point_distance(xx,yy,x,y) > 10 //przykladowa wartosc 10px { mp_linear_step(xx,yy ,16,0) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 5 Stycznia 2017 Udostępnij Opublikowano 5 Stycznia 2017 Ja polecę jeszcze inny sposób (to co gnysek pisał aporopos 3D). GML (create) xcenter=window_get_width()/2 GML (step) direction+=mouse_x-xcenter display_mouse_set(xcenter,window_get_height()/2) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 5 Stycznia 2017 Udostępnij Opublikowano 5 Stycznia 2017 Jak tego użyć Threef - do jakiego obiektu ten kod ?Jak to działa? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PatrykPlayingPOLSKA Opublikowano 5 Stycznia 2017 Udostępnij Opublikowano 5 Stycznia 2017 Witam,chciałem się zapytać czy można w jakiś sposób dodać do GM'a czcionkę .TTF,ta czcionka nie jest taką pospolitą czcionką z windowsa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 5 Stycznia 2017 Udostępnij Opublikowano 5 Stycznia 2017 Dodaj czcionke do systemu, wybierz w GMie czcionke z listy(wymaga restartu gm jezeli zainstalowales w trakcie dzialania programu) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PatrykPlayingPOLSKA Opublikowano 5 Stycznia 2017 Udostępnij Opublikowano 5 Stycznia 2017 Dodaj czcionke do systemu, wybierz w GMie czcionke z listy(wymaga restartu gm jezeli zainstalowales w trakcie dzialania programu) Z góry zakładałem że to nie będzie działać,dziękuję bardzo :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 6 Stycznia 2017 Udostępnij Opublikowano 6 Stycznia 2017 Jak tego użyć Threef - do jakiego obiektu ten kod ?Jak to działa? Jakiś jeden obiekt za to odpowiada. Może być to twój gracz. zasada jest taka że to co step resetuje ci pozycję myszki na środek ekranu. A ty ruszając myszką możesz sprawdzić odległość o jaką ruszyłeś. Potem znów pozycja będzie zresetowana. Tylko nie jestem pewien czy to działa. Może trzeba było to inaczej zrobić. Tak czy inaczej to jest cały pomysł. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Estremo_PL Opublikowano 7 Stycznia 2017 Udostępnij Opublikowano 7 Stycznia 2017 mam 2 pytania 1. Jak ustawić w roomie czy coś ma być przed czymś a coś za czymś poza tym, że dodawać w pewnej kolejności. np na koniec chcę dodać coś co ma być na wierzchu ? 2. Jak zrobić obiekt który w roomie o większych rozmiarach np. 10800 na 720 obiekt którego widzimy cały czas np u góry ekranu? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PatrykPlayingPOLSKA Opublikowano 7 Stycznia 2017 Udostępnij Opublikowano 7 Stycznia 2017 mam 2 pytania 1. Jak ustawić w roomie czy coś ma być przed czymś a coś za czymś poza tym, że dodawać w pewnej kolejności. np na koniec chcę dodać coś co ma być na wierzchu ? 2. Jak zrobić obiekt który w roomie o większych rozmiarach np. 10800 na 720 obiekt którego widzimy cały czas np u góry ekranu? 1.W twoim obj masz depth,do obj który ma być na wierzchu wpisz -1 2. Masz do dyspozycji takie coś GML room_width; room_height; lub GML view_xview; view_yview; x Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 7 Stycznia 2017 Udostępnij Opublikowano 7 Stycznia 2017 2. Do tego służy event draw GUI on rysuje na współrzędnych okna gry a nie na współrzędnych rooma. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 Jak zablokować możliwość obracania image_angle w danym zakresie? Teoretycznie mam na myśli pełen obrót 0-360 ale z jakiegoś powodu liczy mi obroty bez powrotu do 0.W lewo od 0 idzie w minus a w prawo liczy powyżej 360- przez co wiele elementów mi wariuje.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 mod 360 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 Zadziała tylko w 1 stronę Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 (__+360) mod 360 w takim razie :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 Ale co dokładnie mam z tym zrobić? Ustawic cos w stylu image_angle=image_angle mod 360? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 GML image_angle=(image_angle+360) mod 360 Na początku step. Przed wszystkimi obliczeniami. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 Dzieki Threef.Działa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 8 Stycznia 2017 Udostępnij Opublikowano 8 Stycznia 2017 Czemu niby miałoby działać w jedną stronę? bug czy jakiś dziwny design? 90 mod 360 = 90 -90 mod 360 = -90 Tak powinno działać. Jak ktoś nie chce ujemnych to powinien ręcznie konwertować na dodatni kąt bo kod threefa się wyłoży jeśli kąt przeskoczy poniżej -360 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 9 Stycznia 2017 Udostępnij Opublikowano 9 Stycznia 2017 Nie wyłoży aż tak. Gdy jakimś cudem image_angle zostanie odjęte od na przykład 1000 to w pierwszym step doda 360, w drugim doda 360, w trzecim też aż dojdzie do plusowych. Zakładam że autor sobie obraca image_angle sam a potem próbuje to porównywać jakoś do czegoś. Stąd ta potrzeba. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 9 Stycznia 2017 Udostępnij Opublikowano 9 Stycznia 2017 Jak zrobić żeby myszka mogła poruszać się tylko w określonym,zamkniętym regionie? edit. Ogarnąłem.Może komuś się kiedyś przyda: GML window_mouse_set(clamp(window_mouse_get_x(),300,window_get_width()-300),clamp(window_mouse_get_y(),200,window_get_height()-500)) oczywiście tutaj już przykład danego limitu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 23 Stycznia 2017 Udostępnij Opublikowano 23 Stycznia 2017 Mam problem przy kolizji ze ścianą (Top down) Kolizja GML //Basic collision if (other.collision=true){ //Set up vars var a,xoff,yoff,om,mm,mag; a = point_direction(x, y, other.x, other.y); //Get the direction from the colliding object xoff = lengthdir_x(1, a); //Get the offset vector yoff = lengthdir_y(1, a); om = other.mass / mass; //start the fake "physics mass" calculations mm = mass / other.mass; mag = sqrt((om * om) + (mm * mm)); om /= mag; mm /= mag; //Move out of collision while (place_meeting(x, y, other)) { x -= xoff * om; //Move the instance out of collision- ODSUWANIE SIE POSTACI-SLIZG y -= yoff * om; } } I o ile swietnie sie to sprawdza z poruszajacymi obiektami to ze sciana jest straszne slizganie, a jezeli obiekt jest powiekszony to zderzenie np ze srodkiem ślizga postac bardzo mocno w bok.Jak ma sie zmienic zaznaczona przeze mnie czesc zeby uniknac slizgania i wywolac bardziec naturalna kolizje? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dester Opublikowano 24 Stycznia 2017 Udostępnij Opublikowano 24 Stycznia 2017 Mam koordynaty konkretnego obiektu, i chcę na niego przesunąć mysz. Ktoś wie jak to zrobić? (Używam view) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 25 Stycznia 2017 Filar Społeczności Udostępnij Opublikowano 25 Stycznia 2017 mouse_x = obiekt.x mouse_y = obiekt.y nie zadziala? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dester Opublikowano 25 Stycznia 2017 Udostępnij Opublikowano 25 Stycznia 2017 mouse_x = obiekt.x mouse_y = obiekt.y nie zadziala? mouse_x/y są read only Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 25 Stycznia 2017 Udostępnij Opublikowano 25 Stycznia 2017 https://docs.yoyogames.com/source/dadiospic..._mouse_set.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dester Opublikowano 25 Stycznia 2017 Udostępnij Opublikowano 25 Stycznia 2017 https://docs.yoyogames.com/source/dadiospic..._mouse_set.html Załóżmy, że x=130 y=450. Jak z użyciem tej funkcji ustawić mysz na x,y? 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ę