Ho risolto il problema mediante l'utilizzo di un'istanza della classe AffineTransform facendo nel seguente modo:
In tal modo riesco a far muovere l'immagine della stecca attorno al centro della palla...codice:/*considerando che in precedenza ho inizializzato così: AffineTransform at = new AffineTransform ()*/ at.setToTranslation(ComponenteXCentroPalla , componenteYCentroPalla); at.rotate(Math.toRadians (angolo)); g2.drawImage(immagineStecca, at, this);
Ora sono incappato al passo successivo:
nel gioco permetto all'utente di settare la forza di tiro mediante una progress bar che parte da zero al primo click dell'utente e si arresta al secondo click , settando quindi il relativo valore di potenza in base alla percentuale della progressBar ottenuto...io vorrei che nel momento in cui la potenza di tiro oscilla (cioè nel momento tra il primo e il secondo click) la stecca andasse avanti e indietro in base alla percentuale lungo la direzione in cui è orientata...come posso fare?
supponendo di avere una variabile intera spostamento che contenga 10 quando la progressBar è a 100% e 0 quando la progressBar e a 0% e supponendo di avere l'angolo che mi da la direzione lungo la quale è orientata la stecca , come posso far si che la stecca si muova nel modo desiderato?
penso di dover lavorare con i seno e coseno dell'angolo e il valore di spostamento , ci ho provato in vari modi ma nessun risultato sperato...mi aiutate?

Rispondi quotando