Skocz do zawartości

Zablokowane Object krążący wokół drugiego objectu


Rekomendowane odpowiedzi

Yo!

Bardzo dobrze mi się pracowało z GMem, ale dopadł mnie kolejny problem.

Chciałbym zrobić czar krążący wokół postaci.

Będzie to czar ochorny, ale to nie ważne.

 

Chcę żeby on kręcił się jak by miał path wokół postaci.

Grafika gry jest robiona z góry (TopDown)

Chciałem zrobić path, ale (chyba) nie idzie, żeby on miał zmienną pozycje tzn. jego x i y odnosiło się do tych zmiennych objectu 'postac'.

Mam nadzieje, że mnie ktoś zrozumiał i pomoże.

Help

Odnośnik do komentarza
Udostępnij na innych stronach

Tworzysz nowy obiekt, np o_czar.

GML (create)
a=false;

r=10;//promień okręgu</span>

GML (draw)
draw_circle(o_hero.x+r*sin(0.1*a*pi),o_hero.y+r*cos(0.1*a*pi),5,0)//czar ma wyglądać jako wirująca wokół postaci kulka

draw_sprite(s_czar,image_index,o_hero.x+r*sin(0.1*a*pi),o_hero.y+r*cos(0.1*a*pi))//czar ma sprite'a i wiruje wokół gracza

a+=1;

if(a==21)

a=false;

Załóżmy, że aby dokonał się pełny obrót po okręgu dokonujemy 20 "przesunięć" elementu. Wtedy kąt obrotu w czasie jednego przesunięcia wyniesie: 360/20=18 stopni. 18 stopni to (18/180)*pi radiana, czyli 0,1*pi. Mnożąc to przez 'a' powodujemy kolejne przesunięcia elementu po okręgu. Warunek if nie jest konieczny, ponieważ funkcje sin i cos są okresowe (sin(2pi+alfa)=sin(alfa)). Jest tylko po to aby a nie przyjmowało jakiś dużych wartości.

Odnośnik do komentarza
Udostępnij na innych stronach

Promień - dystans od środka okręgu do reszty punktów na nim :) Czyli jak duży ma być ten okrąg, po którym się to coś poruszać. Wpisz 100, i bedziesz zwiększał/zmniejszał wedle uznania.

 

"ileśtam" - jak szybko ten obiekt się na poruszać po tym okręgu. Daj 5 i będziesz dopasowywał.

 

W create tego obiektu, do którego ten kod dałeś daj tylko

 

kąt = 0;

 

No, bez polskich znaków, czyli kat, ew. kont ;)

 

Ed: A może jakaś aktualizacja faq? Bo takie pytania jak to się zdarzają naprawdę często, a w "czesto zadawanych pytaniach" ich jakos nie ma.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki, spróbuję ;)

A aktualizacja FAQ by się przydała, bo często tworzone są nowe tematy, bo ktoś nie wie jakiejś drobnostki ;) Tak jak ja teraz.

Często mam problemy, jeśli coś trzeba zrobić z użyciem lenghtdirów, czy jak to się zwie :3

 

EDIT && DOWN:

Tak, ale zwykle jeśli nie umiem czegoś zrobić, nie wpadnie mi o głowy, że to je trzeba użyć.

Ok, kod Dawidssa działa, efekt przypomina twoją Na'vi krążącą wokół głowy Linka :)

 

Zamykam...

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...