investiga sobre hilos pero ten cuidado con los puntos criticos
tambien se puede hacer sin hilos claro esta...
ahora deberias hacer colisiones de circulo con rectangulo
algo asi:
public int colisionCirculoCuadrado(Circulo circle, Cuadrado rect) {
int circleDistanceX
= Math.
abs(circle.
x - rect.
getPostX() - rect.
getBase() / 2); int circleDistanceY
= Math.
abs(circle.
y - rect.
getPostY() - rect.
getAltura() / 2);
if (circleDistanceX > (rect.getBase() / 2 + circle.r)) {
return 1;
}
if (circleDistanceY > (rect.getAltura() / 2 + circle.r)) {
return 2;
}
if (circleDistanceX <= (rect.getBase() / 2)) {
return 3;
}
if (circleDistanceY <= (rect.getAltura() / 2)) {
return 4;
}
double cornerDistance_sq
= Math.
pow(circleDistanceX
- rect.
getBase() / 2,
2) + Math.
pow(circleDistanceY
- rect.
getAltura() / 2,
2); if ((cornerDistance_sq
<= (Math.
pow(circle.
r,
2)))) { return 4;
}
return -1;
}
el codigo de arriba es de mi autoria sobre un juego que hice uno de estos dias lo subire a la nube