• 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 ?

Object Storage Arubacloud
+1 głos
360 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,880 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,590 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,590 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 (212,670 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 (212,670 p.)
Problem w tym że musisz mieć animacje broni odpowiadające dłoniom.
komentarz 14 sierpnia 2017 przez Benek Szeryf (90,870 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 (90,870 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ź 297 wizyt
pytanie zadane 21 listopada 2015 w C i C++ przez katolik6 Dyskutant (8,140 p.)
0 głosów
2 odpowiedzi 2,564 wizyt
pytanie zadane 24 maja 2015 w C i C++ przez Lonaro Użytkownik (630 p.)
0 głosów
1 odpowiedź 141 wizyt
pytanie zadane 4 sierpnia 2019 w C i C++ przez WojtaZio23 Użytkownik (660 p.)

92,551 zapytań

141,399 odpowiedzi

319,531 komentarzy

61,937 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...