• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak podłączyć broń do postaci ?

Fiszki IT
Fiszki IT
+1 głos
226 wizyt
pytanie zadane 14 sierpnia 2017 w C i C++ przez Munvik Dyskutant (9,350 p.)

... tak aby kiedy zakładamy broń w ekwipunku jego pozycja znajdowała się w rękach gracza ?

Moja postać jest w 2D a nie jak pokazana na obrazku

Sprawa jest do tego utrudniona bo zamierzam zrobić animacje ruchu, ataku etc.

Podobnie pozostały ekwipunek.

Używam SFML.

komentarz 14 sierpnia 2017 przez 10kw10 Pasjonat (22,890 p.)
moze klasa abstrakcyjna i wskaznik ? Kazdy obiekt klasy podrzednej by mial swojego spirta etc.
komentarz 14 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)
Zgadza się, ale gdy zakładam broń chcę by moja postać trzymają ją w rękach. Np animacja ruchu zmienia pozycje rąk i muszę z tym coś zrobić, żeby broń nie lewitowała xD

2 odpowiedzi

+1 głos
odpowiedź 14 sierpnia 2017 przez Criss Mędrzec (172,660 p.)
Do każdej klatki animacji dobierz odpowiednią pozycje broni względem postaci. Np. tablica sf::Vector2f symbolizujących takie offsety - każdy indeks odpowiada wtedy danej klatce animacji. Podobnie każda broń mogłaby mieć taki offset oznaczający w którym miejscu ma się stykać z dłonią. Zawsze możesz też napisać coś znajdującego pozycje rąk na teksturze, ale IMO to by było już przekombinowane o ile nie piszesz czegoś bardziej generycznego (biblioteka/silnik).
komentarz 14 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)
No chyba nie mam innych opcji. Pierwsza opcja wydaję najlepsza, szkoda, że taka sztywna :D
komentarz 14 sierpnia 2017 przez Criss Mędrzec (172,660 p.)
Nie widze nic innego jak wybór między prostotą a ostrym przekombinowaniem niestety. Aczkolwiek to na pewno dobrze, że starasz się myśleć tak "generycznie" :)
0 głosów
odpowiedź 14 sierpnia 2017 przez Ehlert Ekspert (204,930 p.)
Obiekt Twojej postaci musi mieć jakiś pointer na broń którą posiada. Wtedy pozycja i animacja broni jest wyznaczana na podstawie Twojej postaci.
komentarz 14 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)
Czyli muszę na sztywno ustawić pozycję rąk i podczepić pod nie broń ?

A jak animacja ruchu zmienia pozycje rąk to co klatke powinienem na sztywno ustawiać te pozycje ?
komentarz 14 sierpnia 2017 przez Ehlert Ekspert (204,930 p.)
Problem w tym że musisz mieć animacje broni odpowiadające dłoniom.
komentarz 14 sierpnia 2017 przez Benek Szeryf (87,050 p.)

Możesz ją wyliczyć dla każdej klatki, zakładając że ruch dłoni odbywa się po fragmencie okręgu. Równanie okręgu o promieniu R zaczepionego w punkcie (x0, y0) to:

(x - x0)^2 + (y - y0)^2 = R^2

Zakładając, że ręka postaci tworzy z poziomą osią OX kąt alfa z przedziału -45 --- +90, a broń jest prostopadle trzymana względem wyprostowanej ręki, to broń będzie nachylona pod kątem (alfa + 90) względem osi OX. Znając kąt alfa, znajdziesz orientację broni oraz jej punkt zaczepienia ze wzoru:

(x - x0)/(y - y0) = cos(alfa)

zakładając, że ramię zaczepione jest w punkcie (x0, y0), a R to długość ręki.

komentarz 14 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)
Nie głupie, zadziała tylko dla jednego typu ataku (z góry) a zamierzam zrobić więcej. Mimo wszystko przydatne.
komentarz 14 sierpnia 2017 przez Benek Szeryf (87,050 p.)
Co to znaczy atak z góry? W sensie zamach ręki z pozycji pionowej w celu uderzenia przeciwnika?
komentarz 14 sierpnia 2017 przez Munvik Dyskutant (9,350 p.)
Tak jak ręka idzie po okręgu czyli tak jak mówisz.

Podobne pytania

0 głosów
1 odpowiedź 227 wizyt
pytanie zadane 21 listopada 2015 w C i C++ przez katolik6 Dyskutant (8,160 p.)
0 głosów
2 odpowiedzi 2,300 wizyt
pytanie zadane 24 maja 2015 w C i C++ przez Lonaro Początkujący (290 p.)
0 głosów
1 odpowiedź 76 wizyt
pytanie zadane 4 sierpnia 2019 w C i C++ przez WojtaZio23 Użytkownik (520 p.)
Porady nie od parady
Forum posiada swój własny serwer Discord, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

84,835 zapytań

133,644 odpowiedzi

296,137 komentarzy

56,080 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...