rotate image (igen)

Tags:    java

Jeg har før lavet en tråd hvor jeg spurgte om hvordan man roterede et billede. Jeg fandt ud af at man kunne bruge Graphics2D.rotate()

Det virkede fint så længe jeg kun havde min lille bold jeg kunne gå rundt med på skærmen (jeg er ved at lave et spil), men da jeg begyndte at få ham til at spawne projectiler gik det galt. Når jeg gik rundt med min lille bold, flyttede, og drejede projectilerne sig (det eneste de burde skulle kunne var at stå stille).

Jeg tror det vil virke vis jeg bruger AffineTransform classen til at rotere mine billeder med, men hvordan virker den??



rotate() funktionen gør intet andet end at ændre graphics objektets affine transform, så det burde ikke være nødvendigt at bruge den direkte.

Jeg forstår vist ikke helt problemet. Kan du poste noget kode, som viser, hvordan det går galt ?



Har uploaded in video på youtube der viser problemet, og her er noget kode (der er ret meget selvom jeg kun har taget det jeg mener er vigtig, vis der skal mere til, så sig til)

GamePanel (gameloop osv. er her)
Fold kodeboks ind/udJava kode 


GOKillBall (min lille bold)
Fold kodeboks ind/udJava kode 


GOProjectile (projektil)
Fold kodeboks ind/udJava kode 


Filmen er her: http://www.youtube.com/watch?v=Ap7udjc7erg

<eidt>
projektilet burde bare bilve hvor det var
</edit>

håber at i forstår koden, ellers bare spørg, så kan jeg forklare den (håber jeg)




Indlæg senest redigeret d. 06.10.2008 16:06 af Bruger #13669
rotate() funktionen gør intet andet end at ændre graphics objektets affine transform, så det burde ikke være nødvendigt at bruge den direkte.


Har tænkt lidt over det^^.

For mig ser det ud som om problemet skyldes at g2 er roteret forkert når projektilet skal tegnes (selv om jeg syntes jeg har roteret det til bage i GOProjectile's draw meode, kan være det er der det går galt?=
Derfor tænkte jeg at det måske ville virke vis man brugte forskellige affinetransform's, til de forskellige ting der skulle tegne.

.:EDIT:.
YEES!! så fik jeg det enlig til at virke!!

det jeg gjorde var at efter jeg havde roteret, og tegnet, roterede jeg til bage igen :D



Indlæg senest redigeret d. 06.10.2008 21:24 af Bruger #13669
t