SimianVirus8 Opublikowano 31 Maja 2015 Udostępnij Opublikowano 31 Maja 2015 Witam. Przydałaby mi się mała pomoc, mianowicie jak zrobić granice w celowaniu, żeby ręka nie latał wokół postaci. Lepiej załącze obrazek, bo z mojego ględzienia i tak nic pewnie nie wiadomo. http://zapodaj.net/6216e118df206.png.html Nie mam pojęcia od czego zacząć, żeby takową granice utworzyć. Oczywiście ręka jest już "przyspawana" do postaci i podąża za kursorem. Step w broni GML // Przyspawanie do postaci x=oKaban.x+36 y=oKaban.y-49 // Obrot w strone pola widzenia bohatera image_angle = point_direction (x,y,mouse_x,mouse_y) // Strzelanie if mouse_check_button(mb_left) and ammo>=1 { if alarm[0] = -1 then alarm[0] = 10; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 31 Maja 2015 Filar Społeczności Udostępnij Opublikowano 31 Maja 2015 if( image_angle > 60 ) image_angle =60; if( image_angle < -60 ) image_angle = -60; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 31 Maja 2015 Udostępnij Opublikowano 31 Maja 2015 Potrzebujesz porównywać kąty. Kąt postaci, kąt broni i maksymalny kąt jaki chcesz aby broń mogła się oddalić. GML angle_difference() @ANtY: image_angle nigdy nie będzie na minusie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SimianVirus8 Opublikowano 31 Maja 2015 Autor Udostępnij Opublikowano 31 Maja 2015 Jak narazie przerobiłem troche skrypt ANtY'iego, mianowicie na taki: GML if(image_angle <= 90) image_angle = point_direction (x,y,mouse_x,mouse_y) oraz zmieniłem sprite ręki: http://zapodaj.net/948f102e906b6.png.html , bo Threef miał racje, co do minusowego "angle", którego nie idzie ustawić, więc stopień 0, musiałem ustawić poprzez sprite. Mniej więcej oto mi chodzi w tym zdaniu: Początkowy sprite: http://zapodaj.net/65a453b4910fc.png.html Po zmianie: http://zapodaj.net/a1679dd5e8215.png.html I tu kolejny błąd, którego nie udało mi się rozwiązać. Kiedy sprite broni wyjedzie poza 90 stopni, skrypt GML image_angle = point_direction (x,y,mouse_x,mouse_y) przestaje działać, co uniemożliwia powrót do miejsca, gdzie wolno celować. Co do "angle_difference()", nie mam pojęcia jak się z tym obchodzić, powpisywałem pare liczb, ale nic się nie działo, z radami pod "F12" też ciężko. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 1 Czerwca 2015 Filar Społeczności Udostępnij Opublikowano 1 Czerwca 2015 @ANtY: image_angle nigdy nie będzie na minusie. no to GML if( image_angle > 45 and image_angle < 180 ) image_angle =45; else if( image_angle < 315 and image_angle >=180 ) image_angle = 315; powinno chyba dzialac? albo mam raka mozgu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 1 Czerwca 2015 Udostępnij Opublikowano 1 Czerwca 2015 No prawie. ;) Problem jest taki że będzie działać tylko dla postaci obróconej w prawo. @SimianVirus8: musisz pamiętać że kąt 0 stopni jest w prawo. 90 to chyba dół, etc. Chyba że znów się pomyliłem i jest odwrotnie. angle_difference() zwraca różnicę pomiędzy dwoma kątami z uwzględnieniem przeskoku pomiędzy 0 a 359.9999999 GML angle_difference(180,90)=90 angle_difference(90,180)=90 angle_difference(0,300)=60 W razie jakbym znów się pomylił (nie mam teraz otwartej dokumentacji) i angle_difference() zwracał też wartości na minusie to pamiętaj o abs() GML abs(-33)=33 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 1 Czerwca 2015 Udostępnij Opublikowano 1 Czerwca 2015 90 jest w górę Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SimianVirus8 Opublikowano 1 Czerwca 2015 Autor Udostępnij Opublikowano 1 Czerwca 2015 ANtY dobra wiadomość, nie masz raka mózgu, twój skypt działa jak należy, choć nie do końca go jeszcze rozumiem. Próbowałem pokombinować z każdym skryptem jaki mi napisaliście ale ANtY'iego spisał się rewelacyjnie. Dzięki za pomoc chłopaki, pewnie jeszcze nie raz tu wróce :P. 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ę