alwin Opublikowano 3 Stycznia 2011 Opublikowano 3 Stycznia 2011 Znalazłem wczoraj projekt gry mojego brata sprzed 5 lat :boxed: , on z racji ze już nie ma czasu na takie zabawy jak GM na pewno nie będzie go dokańczał więc postanowiłem choć coś z niego wyskrobać. Jest to rpg z animacją szkieletową, no i mam pytanko. Całą postać rysuje w draw, tak samo i bron. Jak więc zrobić kolizje wroga z bronią jeżeli ze spritami nie można sprawdzać kolizji? GML xs=image_xscale; ys=image_xscale; rot=image_angle; anim=0;//prędkość animacji - szybkość ruchu rękoma tłowiem itp. draw_sprite_ext(miecz, global.HandArmor, x+lengthdir_x(-27,(rot+80)+30*cos(degtorad(anim))), y+lengthdir_y(-27,(rot+80)+30*cos(degtorad(anim))), xs,ys,(rot-40)+60*cos(degtorad(anim)),coll,alpha); Próbowałem z collision_line ale ni Hama tego nie ogarnę. Próbowałem z draw_line aby choc narysować linię która by się poruszała jak ten miecz ale też nie umie :unsure: Jakiś pomysł?
Administratorzy gnysek Opublikowano 3 Stycznia 2011 Administratorzy Opublikowano 3 Stycznia 2011 collision_circle w miejscu rysowania miecza? Tylko sobie przypisz te obliczenia do zmiennych tymczasowych, zeby dwa razy nie liczyć. Btw. w tym kodzie tego cosinusa z degtorad chyba na lenghtdir_x mozna zamienić, bo jakoś mi się tak wydaje, ze to podobny wzór był.
MagnusArias Opublikowano 3 Stycznia 2011 Opublikowano 3 Stycznia 2011 Taki drobny błąd, literówka. W zmiennej ys powinno byc yscale, a jest xscale.
alwin Opublikowano 4 Stycznia 2011 Autor Opublikowano 4 Stycznia 2011 collision_circle w miejscu rysowania miecza? Tylko sobie przypisz te obliczenia do zmiennych tymczasowych, zeby dwa razy nie liczyć. Btw. w tym kodzie tego cosinusa z degtorad chyba na lenghtdir_x mozna zamienić, bo jakoś mi się tak wydaje, ze to podobny wzór był. Dokładnie w którym miejscu collision_circle? bo miecz ma taki ruch dzięki temu kodowi wyżej: I rusza się razem z ręką. Jezeli dam collision_circle w x i y origina miecza to będzie 'haczył także tych stojacych z tyłu.'
I am Lord Opublikowano 4 Stycznia 2011 Opublikowano 4 Stycznia 2011 No to sprawdzaj jeszcze czy kąt pomiędzy dotkniętym przez collision circle przeciwnikiem a graczem mieści się w zakresie np. od rot - 45 do rot + 45.
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ę