J'utilise Java pour faire tourner des balles autour d'une boîte. En utilisant ce morceau de code, il rebondit sur les bords.Comment utiliser une instruction if pour s'exécuter, sauf si quelque chose d'autre s'est produit?
if (y >= borderBottom)
{
y = border;
speedOfY = -speedofY;
}
J'ai un trou dans la boîte de billes. Si la balle frappe le trou, je voudrais qu'il continue à travers l'écart.
Je veux l'instruction if à courir jusqu'à ce que:
il est entre deux points x (le trou)
et au fond de la frontière sur l'axe y (le côté du trou).
Comment puis-je y remédier? Je sais que je dois utiliser simulation.pauseSimulation() mais je ne sais pas comment faire pour que les balles s'arrêtent précisément quand c'est entre les deux points et quand c'est au bas de la bordure, merci!
J'ai essayé d'utiliser la déclaration précédente avec cette suite,
if(y >= borderBottom && (x < 275) && (x > 325>))
simulation.pauseSimulation()
mais j'ai joué autour et la simulation a ignoré la bordure inférieure entier et à un moment donné tous les objets flashé .
Gardez une trace de la position de la balle précédente et si vous détectez la balle vient frapper le fond, vérifiez si la ligne droite entre les deux positions de balle traverse le segment de frontière? – bipll
Pouvez-vous nous montrer ce que vous avez essayé? – marisbest2
@bipll Je l'ai utilisé si (y> = borderBottom && (x <275) && (x> 325>)) simulation.pauseSimulation() mais la question est que j'ai besoin de cette déclaration pour remplacer l'autre déclaration si toutes les conditions sont remplies Est-ce possible? – somebodyhelpme