내 자신의 shweta dodiya.I는 내 프로젝트의 결과를 달성하기 위해 구현했다 j2me 센서 및 논리 관련 문제가 있습니다. 내가 구현했던 논리는 다음과 같습니다 -노키아 N97 관련 센서 API 및 일부 자바 로직
sensor= (SensorConnection) Connector.open("sensor:acceleration");
try {
data = sensor.getData(1);
} catch (IOException ex) {
ex.printStackTrace();
}
for (int i = 0; i < data.length - 1; i++) {
value[i] = data[i].getDoubleValues()[0];
}
CurrentValX = value[0];//X-axis of sensor
CurrentValY = value[1];//y-axis of sensor
if (CurrentValX < PreValueX1) {
left = false;
right = true;
} else if (CurrentValX > PreValueX1) {
left = true;
right = false;
}
if (CurrentValY < PreValueY1) {
down = false;
up = true;
} else if (CurrentValY > PreValueY1) {
down = true;
up = false;
}
if (right == true && ballX < Scrwidth - 15) {
ballX += 4;
} else if (left == true && ballX > 15) {
ballX -= 4;
}
if (down == true && ballY < Scrheight - 15) {
ballY += 4;
} else if (up == true && ballY > 15) {
ballY -= 4;
}
CurrentValY = PreValueY1;
CurrentValX = PreValueX1;
//check for the collision of ball with the other object like brick
if (bricksprite.collidesWith(ballSprite, true)) {
if (right) {
ballX -= 10;
}
if (left) {
ballX += 10;
}
if (up) {
ballY += 10;
}
if (down) {
ballX -= 10;
}
}
난 데 문제는 공의 충돌에 그것을 얻을 bricks.when 내가 이동의 언젠가 공 대신 collision.But의 반대 방향으로 볼을 이동하려는 충돌 반대 방향으로 똑같은 방향으로 계속 움직입니다. 나는 공의 방향을 위, 아래, 왼쪽, 오른쪽으로 부울을 통해 얻었습니다. ,
날을 해결하고 저를 안내하고 사전
논리가 잘못되었습니다. Math의 VECTORS에 대해 읽고 코드에 구현하십시오. 그러면 훨씬 간단한 코드와 자연스러운 게임을 얻을 수 있습니다! 공의 궤도를 뒤집으려면 벡터를 뒤집으십시오. 앞으로 90deg 앞으로 움직이게 설정하려면 벡터를 90deg 회전시켜야합니다 ...하고있는 것처럼 오브젝트 좌표를 선형 적으로 변경해서는 안됩니다. – Cipi
답장을 보내 주셔서 감사합니다 –