Skocz do zawartości

Obrócenie figury nie widoczne dla komputera (java)


wlochaty7

Polecane posty

Cześć, piszę w javie i mam taki problem, chce napisać obracanie figury wokół własnej osi, która by potem mogla wejsc w kolizje z inna figura.

Obracanie napisalem tak:

 

 AffineTransform at= new AffineTransform();                                               
                         at.rotate(Math.toRadians(kat),r.getX(),r.getY());

                          g2d.transform(at);
                          g2d.fillRect(r);

 

No i super, obraca się tylko gdy wchodzi w kolizje z innym prostokatem okazuje się, że ta figura obrócila sie tylko wizualnie. Komputer ja widzi dalej jako nie odwrócona, stad i kolizje wystepuja nie tak jak powinny. Jak zrobic zeby komputer tez widzial te obrócenie?

Link do komentarza
Udostępnij na innych stronach

może sprawdź kod kolizji ??

 

Aha i nazwa tematu ...

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

  • 1 month later...

Bo Ty tylko obracasz 'kamere'. Poczytaj sobie o macierzach widoku, swiata i tej trzeciej ktorej nie pamietam nazwy ;) Polecam SDK DirectX, wszystko wyjasnione. A swoj problem rozwiazesz, faktycznie obracajac wspolrzedne tego prostokata, czyli np mnozac jego wspolrzedne przez macierz obrotu.

 

Ups, nie zauwazylem daty, wybaczcie odgrzanie starego tematu :)

Down With The Sickness :)

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...