2010-11-23 7 views
1

自分自身shweta dodiya.私は私のプロジェクトで結果を達成するために実装したj2meのセンサーとロジックに関連する問題があります。私が実装したロジックは次のとおりです: -ノキアN97センサーに関連するAPIといくつかのJavaロジック

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 iがに移動いつかボール代わりにcollision.Butの反対方向にボールを移動したい衝突それと反対の方向に同じ方向に動いています。私はボールの方向を上、下、左、右のブール値で取得していました。 、事前

+1

あなたのロジックは間違っています。 MathのVECTORSについて読んで、あなたのコードに実装してください。その後、はるかに単純なコードと多くの自然に見えるゲームを得るでしょう!ボールの軌道を逆にするには、そのベクトルを逆転させます。 90degを前方に動かすように設定するには、そのベクトルを90deg回転させます。あなたが行っているように、オブジェクトの座標を直線的に変更してはいけません。 – Cipi

+0

返信ありがとう –

答えて

2

のおかげで、私はあなたのコードを読んでいないが、過去に、私は同じちょっとゲームをコード化しているイム間違ってどこかに

場合

それを解決し、私を導き、私を修正するために私を助けてください

私は以下のロジックを適用しました。

1.ボールがボールを右から左に動かしていると考えると、天使の左の壁に衝突するよりも、ここであなたのxとyはcolissionで一様に減少していましたが、yは同じ方法で減少しているはずです。

たら、2.ボールが垂直の壁をcolides、yはXを反転する必要があり、私はそれがロジックをクリア願ってい

..同じである必要があります。

+0

お返事ありがとうございました –

+0

@shwetaあなたは歓迎です:) –

関連する問題