Witam, mam problem - próbuję zrobić obrazek który odwraca się w stronę kursora:
public Graphics2D rotate(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
double angleToTurn = Math.atan2(mhandler.y-this.getY()-16, mhandler.x-this.getX()-16);
g2d.rotate(angleToTurn+(Math.PI/2), this.getX()+16, this.getY()+16);
return g2d;
}
mhandler pobiera X i Y z myszki
(dodawanie i odejmowanie 16 ponieważ obrazek ma wymiary 32x32)
I wszystko działa super na jednym obiekcie, ale kiedy dodaje drugi, to wszystko zaczyna się walić.. wygląda to tak jak w załączniku - pierwszy stworzony obiekt obraca się i zachowuje zgodnie z oczekiwaniami, a drugi zaczyna latać w koło trzymając się tej samej odległości od obiektu pierwszego jednocześnie się obracając (wzdłuż białej strzałki) jak dodam trzeci obiekt to dzieje się to samo między nim a drugim, wyznaczają sobie jakby orbitę z poprzedniego obiektu i wokół niej latają (tylko podczas ruchu myszką). Siedze nad tym dobre parę godzin i nie mogę tego rozgryźć..
- Untitled.png (125 KB) - ściągnięć: 126