我自己shweta dodiya。我在j2me中遇到了与传感器和逻辑相关的问题,我已经实现了在我的项目中实现结果。我实施的逻辑如下: -
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;
}
}
我遇到的问题是球和砖的碰撞。当碰撞时我想要在碰撞的相反方向移动球。但有时候球不是朝相反方向移动而是继续移动同一个方向。我已经通过布尔上,下,左,右获得球的方向。
如果我错了,请帮助我解决它并指导我并纠正我
提前致谢
答案 0 :(得分:2)
我还没有读过您的代码,但过去我编写了相同类型的游戏,
因为我已经应用了以下逻辑;
1.当球结合时,假设球从右向左移动而不是在某个天使左侧碰撞。在这里你的x和y以均匀的方式逐渐减少,你的x应该增加,而y应该以相同的方式减少。
2.当球与垂直墙相交时,y应反转x应相同..
我希望它能清除逻辑。