Skocz do zawartości

Kolizja Sprita rysowanego w Draw z Obiektem


kowal

Rekomendowane odpowiedzi

Witam. Chciałbym uzyskać pomoc odnośnie jednego zagadnienia. Otóż mam pewien obiekt, powiedzmy, że przeciwnik a także drugi obiekt - bohater. W draw bohatera mam polecenia draw_sprite_ext - którą to rysuje części składowe postaci, także miecz. I mam pytanie: Jak można by było zrobić zależność, że jeśli sprite o nazwie miecz dotknie obiektu o nazwie przeciwnik to .... Próbowałem normalnie tak jakby sprite był obiektem ale nie dało rady.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

kolizja następuje zawsze ze spritem, który jest ustawiony jako sprite_index, lub maska, bez względu na to, co jest w draw.

Sposoby są takie:

 

1) Stworzyć mały kwadracik o szerokości miecza (ale nie o długości!) i umieścić go w takiej odległości i pod takim kątem od postaci, aby zawsze był na czubku miecza. Wtedy atakując mieczem zawsze czubek będzie kolidował z atakowanym przeciwnikiem. Można w tym obiekcie wyłączyć Visible, żeby nie było go widać.

 

2) Sprawdzać kolizję miecza za pomocą collision_line, pomiędzy środkiem postaci, a czubkiem miecza. Wtedy na całej jego długości będzie sprawdzana kolizja.

Odnośnik do komentarza
Udostępnij na innych stronach

O obydwu przypadkach myślałem, ten pierwszy mi się nie zbyt podoba, nie lubię robić tyle obiektów to trochę bałagani, no ale jak nie będzie wyjścia to może się skuszę, a jeśli chodzi o drugi sposób to fajnie by było, w przypadku obiektu potrafiłbym zrobić aby poruszał się on razem z czubkiem miecza ( najprawdopodobniej ) ale z linią to już gorzej, musiałaby ona wychodzić z ręki - początku miecza i iść do jego końca, podczas trwania "animacji" czyli gdy miecz będzie w ruchu, i czy linią można tak operować aby obracała się tak samo jak miecz? Zapodaje fotke:

 

problem.png

 

Punkty zielone - linia przesuwania się obiektu sprawdzającego kolizję.

Linia czerwona wraz z zaznaczonymi na jej końcach niebieskimi punktami - ukazana potrzeba poruszania sie linii wraz z mieczem.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

A nie ma czasem collision_triangle ? :P Jak animacja jest szybka, to można założyć, że trzy najbardziej skrajne punkty na grafice nr. 1 to są wierzchołki i takie sprawdzanie kolizji zrobić i tyle.

 

Edit: nie ma collision_triangle, wiedziałem, że czegoś w GM mi brakowało właśnie :P

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