诺基亚N97与传感器Api和一些java逻辑有关

时间:2010-11-23 08:52:06

标签: java java-me

我自己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;
            }                
        }

我遇到的问题是球和砖的碰撞。当碰撞时我想要在碰撞的相反方向移动球。但有时候球不是朝相反方向移动而是继续移动同一个方向。我已经通过布尔上,下,左,右获得球的方向。

如果我错了,请帮助我解决它并指导我并纠正我

提前致谢

1 个答案:

答案 0 :(得分:2)

我还没有读过您的代码,但过去我编写了相同类型的游戏,

因为我已经应用了以下逻辑;

1.当球结合时,假设球从右向左移动而不是在某个天使左侧碰撞。在这里你的x和y以均匀的方式逐渐减少,你的x应该增加,而y应该以相同的方式减少。

2.当球与垂直墙相交时,y应反转x应相同..

我希望它能清除逻辑。