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

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

92,453 zapytań

141,262 odpowiedzi

319,087 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...