Ciao, sto implementando un piccolo programma 2D che disegni due o più oggetti, tutti cerchi. Il problema è che tra un frame e l'altro devo aggiornarne la posizione di ogni cerchio, controllare se nella stada che hanno percorso hanno colliso con qualcosa, e in quel caso farla rimbalzare.
Pensavo di creare un rettangolo che contenga l'area occupata dal tempo T(attuale) al tempo Tf(spostamento per frame) per ogni cerchio creando una raccolta, controllare se nella raccolta collidono tra loro con una getBounds(), trovar la collisione che avviene prima, diciamo al tempo T1, aggiornare gli oggetti al tempo T1 e ricominciare.(credo che verrà moolto lento)
Ho anche notato che forse posso usare la classe Path2D ma non riesco a capire come funziona. Qualcuno mi dà una mano?
grazziee
edit.: forse conviene che ogni figura, quando viene chiamato il metodo muovi() controlli se nello spostamento collida con qualcosa ed eventualmente calcolare il ribalzo e trasmettere il vettore rimbalzo all'altra figura, che registra il vettore nei suoi spostamenti.
poi basta chiamare in sequenza il metodo muovi(), credo![]()
consigli??

Rispondi quotando