Gra Billard, poruszanie kijem bilardowym

0

Witam, od jakiegoś czasu próbuje rozkminić jak zrobić tę grę. Udało mi się stworzyć kolizje okręgów, jednak teraz chce stworzyć kij i zaczynają się problemy. Na poczatku probowalem najprościej jak się da czyli narysować zwykly prostokąt tyle ze jego parametry to tylko (x, y, width, height), a więc nie będę mogł go ustawiać pod różnymi kątami. Dało by radę to zrobić na zwykłej lini, ale z kolei nie mogę ustawić jej grubości. Tak więc może da się jakoś narysować zdjęcie, a następnie obracać je w zależności od położenia kursora. Tyle, że muszę miec jakas funkcje rysującą obrazek, w którym mogę zainicjować dwa skrajne końce zdjęcia. Wstawiam rysunek, mojego zamysłu. Jesli ktos juz robil takową grę i wie jak to zrobić, może i prościej to proszę o jakieś wskazówki.

1

Musisz mieć funkcję, która rysuje obrazek/obiekt obrócony o kąt. Nie wiem czego tam używasz w Javie, ale to praktycznie standard.

Aby obliczyć kąt obrotu kija, używasz funkcji atan2, podając różnicę pozycji środka kuli bilardowej i kursora myszy.

0

Jestem na dobrej drodze.
Kij chodzi po prawidłowej orbicie ale tylko jak kąt zmieniam przyciskami( 1- dodaj kąt, 2- odejmij)
Jak probuje to zrobic na MouseMotionListener to kąt nie zmienia się tak jak powinien oto kod, może zauwazysz jakis błąd:


public void mouseDragged(MouseEvent e) {
	
	double mx = e.getX();
	double my = e.getY();
	
	angle = Math.atan2(Vec1.Cy - my, Vec1.Cx - mx);
	System.out.println(angle);
	
}

gdzie Cy i Cx to srodki okregu

1

atan2 zwraca kąt w radianach. Aby otrzymać kąt w stopniach, musisz wynik tej funkcji pomnożyć przez (360.0f / (Math.PI * 2.0f))

1 użytkowników online, w tym zalogowanych: 0, gości: 1