|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
[java] AffineTransform
Salve a tutti, il mio problema è questo:
Sto provando a rifare frozen-bubble (http://www.frozen-bubble.org/) in java, il problema è che per ruotare e posizionare il cannone uso AffineTransform con la seguente funzione: Codice:
/**
* Override del metodo draw della classe Entity utile a eseguire una trasformazione
* allo sprite, attraverso la classe AffineTransform, prima che esso venga disegnato
* nel contesto grafico
*
* @param g: contasto grafico nel quale diasegnare l'entià
*/
public void draw(Graphics g) {
AffineTransform at = new AffineTransform();
//ruoto l'immagine di a gradi
at.setToRotation(Math.toRadians(cambiaAngoloDelCazzo(alpha)), 50,50);
//sposto lo sprite nelle coordinate indicate
at.setToTranslation(x,y);
//disegno lo sprite
sprite.draw(g, at, 0, 0);
}
Codice:
/**
* Disegna l'immagine dello sprite corrente all'interno del contesto grafico
* g passato come parametro, e nel caso il parametro at sia diverso da null
* verranno applicate le trasformazioni da esso definite
*
* @param g: contesto grafico dentro al quale disegnare
* @param at: Se diverso da null, l'immagine viene disegnata con le trasformazioni definite
* da questo parametro
* @param x: Posizione nelle ascisse
* @param y: Posizione nelle ordinate
*/
public void draw(Graphics g ,AffineTransform at ,int x ,int y) {
//se il parametro at è diverso da null viene disegnato lo sprite
//con le trasformazioni da esso definite
if (at == null) {
g.drawImage(image, x, y, null);
}
else {
Graphics2D g2d = (Graphics2D)g;
// abilita l'antialiasing
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.drawImage(image, at, null);
}
}
Qualcuno di voi ha un'idea di cosa si possa trattare??? Ciao e grazie anticipatamente Ultima modifica di mone.java : 06-08-2008 alle 13:47. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Devi usare rotate(), scale(), translate() ecc... che "concatenano" la trasformazione!!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Grazie mille!!!!!!!!!!!!!!!!!!!!!
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:11.




















