2016-07-19 16 views
-1

誰かが私を啓発することができます。画面上でオブジェクトを移動する際の問題

ボールが自動的に作成され、画面を横切って一方のコーナーから他方のコーナーに移動する必要があるというゲームをしています。

ボールを作成して右下から左上に移動することはできましたが、左下から右上に移動する方法はわかりません。

添付されているコードと私の論理のグラフです。 Logic of how the balls will move

case 1: // From one side to the other, in two axes 

     switch (subScenario) { 
     case 0: // Bottom right corner to top left corner. 
      posX = panelWidth; 
      posY = panelHeight; 
      directionX = (rnd.nextInt(2) + 1)*-1; 
      directionY = directionX; 
     case 1: // Top left corner to bottom right 
      posX = 0; 
      posY = 0; 
      directionX = (rnd.nextInt(2) + 1)*1; 
      directionY = directionX; 
     case 2: // Bottom left corner to top right corner 
      posX = 0; 
      posY = panelHeight; 
      directionX = directionY; 
      directionY = (rnd.nextInt(2) + 1)*-1; 
     } 
     break; 
    } 
+0

どこにエラーがありますか? –

+0

ケース2の方向Xと方向Yの切り替えを試してください。 – 17slim

+0

最後のコメントを忘れてしまいました。 'directionX =(rnd.nextInt(2)+ 1)* 1 'を設定し、' directionY'をそのままにしてください。 – 17slim

答えて

1

あなたは右に左に移動したい場合は、case 2のように、directionXは正でなければなりません。したがって:

directionX = (rnd.nextInt(2) + 1)*1; 

directionYので、否定する必要があります:

directionY = directionX*-1; 

また、それらはすべてが活性化しないように、各casebreakを置くことを忘れないでください。

+0

ああ、ありがとう:) – Aaron

関連する問題