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

Obracanie elementu w canvas wokół własnej osi

Object Storage Arubacloud
0 głosów
533 wizyt
pytanie zadane 14 kwietnia 2019 w JavaScript przez EteerYT Początkujący (480 p.)
Ma ktoś pomysł jak zrobić, aby narysowana załóżmy jakas postać zawsze była skierowana do kursora myszki?

Wiem jak obracac postać eokol własnej osi, ale nie wiem jak obrócić ją o tyle żeby była zawsze skierowana w stronę kursora...

2 odpowiedzi

+1 głos
odpowiedź 15 kwietnia 2019 przez program naczelny Gaduła (3,320 p.)

Ostatnio zajmowałem się tematem przy tworzeniu gry więc mogę ci pomóc. Pomogę, ale nie rozwiążę za ciebie bo musisz to zrozumieć. 

1 - Po pierwsze jeżeli nie znasz funkcji trygonometrycznych naucz się czym jest sinus, cosinus, tangens, wtedy pogadamy
2 - Musisz znać pozycję kursora (myszy) oraz pozycję naszego elementu. To druga rzecz którą musisz ogarnąć, czyli jak odczytać pozycję kursora.
3 - Myk polega na trójkącie i zastosowaniu właśnie funkcji trygonometrycznych. Najpierw obliczamy jaka jest długość linii od x,y myszy do x,y naszego obracanego obiektu twierdzeniem Pitagorasa, natomiast następnie obliczamy sinusa, czyli wartość kąta wyrażoną w proporcji. W tym momencie musimy już tylko użyć funkcji zamieniającej ten stosunek na kąt podany w radianach:

Math.asin(stosunek)

4 - teraz już tylko trzeba obrócić element o ten kąt, poszukaj w internecie jak się obraca element.

To nie jest wbrew pozorom takie trudne pomyśl, a zrozumiesz.

komentarz 21 kwietnia 2019 przez EteerYT Początkujący (480 p.)

Ok, dzięki smiley

0 głosów
odpowiedź 15 kwietnia 2019 przez criss Mędrzec (172,590 p.)
Skorzystaj sobie z atan2 czyli specjalna funkcja dla takich przypadków oparta na arctangensie.

Uzyskaj pozycje kursora względem postaci odejmując po prostu pozycje postaci od pozycji kursora. Następnie wynik podaj jako argumenty do atan2 (zauważ, że pierwszym argumentem jest y, a x drugim). Dostaniesz oczywiście kąt w radianach.

Podobne pytania

0 głosów
0 odpowiedzi 148 wizyt
pytanie zadane 4 grudnia 2017 w HTML i CSS przez Warcabiak Użytkownik (500 p.)
+1 głos
4 odpowiedzi 323 wizyt
pytanie zadane 9 kwietnia 2023 w JavaScript przez Dariusz Hozer Użytkownik (920 p.)
+1 głos
1 odpowiedź 124 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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!

...