내 목표는 공의 반지름 값이 게임의 차후 버전에서 변경 되더라도 공을 패들 중앙에 놓는 것입니다. 내 유일한 문제는 게임 공의 x 좌표에 맞는 수학 공식 을 구현하는 것입니다. 나는 완벽하게 작동하는 y 좌표 공식을 얻었다.브레이크 아웃 (게임 프로젝트) - 노를 센터링하기 위해 공을 얻는 것 --Java
정답이 필요하지 않습니다. 답변을 얻으려면 지침과 제안이 필요합니다. "// 트러블 수학을내는"
http://i33.photobucket.com/albums/d86/warnexus/ball.png
당신은 코멘트를 아래의 코드를 찾을 수 있습니다 여기에
는 자바 프로그램의 사진입니다./** Radius of the ball in pixels */
private static final int BALL_RADIUS = 500;
private void setup_Paddle()
{
// TODO Auto-generated method stub
// x coordinate of the upper left corner
// y coordinate of the upper left corner
paddle = new GRect(20,20,PADDLE_WIDTH,PADDLE_HEIGHT);
paddle.setFilled(true);
paddle.setColor(Color.PINK);
add(paddle,paddleInitialLocationX,paddleInitialLocationY);
}
private void setup_Ball()
{
// Trouble figuring the math here
int ballSetUpCoordX = (int) (paddle.getX());
// Good Code!
int ballSetUpCoordY = (int) (paddle.getY()-BALL_RADIUS);
gameBall = new GOval(BALL_RADIUS,BALL_RADIUS);
gameBall.setFilled(true);
gameBall.setColor(Color.BLUE);
add(gameBall,ballSetUpCoordX,ballSetUpCoordY);
}
private GOval gameBall;
private GRect paddle;
private int paddleInitialLocationX = 200;
private int paddleInitialLocationY = 500;
나는 당신이 말한 것을 시도했다. 그러나 잘못 코딩하지 않으면 올바르게 보이지 않는다. \t int center = (int) (paddle.getX() - (PADDLE_WIDTH/2)); \t \t int ballSetUpCoordX = (int) (center - (PADDLE_WIDTH)/2); – Nicholas
여전히 좋은 제안이지만 의견을 투표 할 것이지만 4 명이 더 필요합니다. – Nicholas
두 번째 줄이 잘못되었습니다. 볼 너비만큼 오프셋되어야합니다. – Thomas