パドルクラスのブールメソッドで、ボールが2つのパドルのいずれかに触れているかどうかを判断したいのですが、適切なロジックを見つけるのに苦労しています...
変数は次のとおりです。
// instance variables
private Screen theScreen;
private MyroRectangle theRectangle;
private int topLeftX;
private int topLeftY;
// constants
private final int HEIGHT = 100; //the paddle's fixed height
private final int WIDTH = 5; //the paddle's fixed width
private final int PIXELS_PER_MOVE = 20; //the number of pixels a paddle can move either up or down in one timestep
メソッドは次のとおりです: * このメソッドは、ボールがタッチしたかどうかを判断するためのものです。ボールが跳ね返ることはありません。
public boolean isTouching(Ball b)
{
boolean t = false;
if ((theScreen.getWidth()-(b.getX() + b.getRadius())) >= theScreen.getWidth()-theRectangle.getCenterX() )
{
t= true;
}
return t;
私も試しました:
if ((b.getX() > theRectangle.getCenterX()/2) && (b.getY() < theRectangle.getCenterY()/2))
========== ** 必要になるかもしれない ball クラスのメソッド:
getX()
getY()
getRadius()
==============
** Rectangle クラス:
getCenterX()
getCenterY()
===============
** 画面クラス:
getWidth()
getHeight()
少なくとも条件の 1 つを決定したいだけで、残りの条件を把握できます。