0

私はゲームをしています。画面の端からボールが移動します。そのために、ランダム関数を使用しました。

public void random(){
    Random rnd = new Random(System.currentTimeMillis());
    x = rnd.nextInt(gameView.getWidth() - bmp.getWidth());
    y = rnd.nextInt(gameView.getHeight() - bmp.getHeight());
    xSpeed = rnd.nextInt(10) - 5;
    ySpeed = rnd.nextInt(10) - 5;
    x = x + xSpeed;
    y = y + ySpeed;
}

私が使用した場合:

x = rnd.nextInt(gameView.getWidth() - bmp.getWidth()); 
y = rnd.nextInt(gameView.getHeight() - bmp.getHeight()); 

ボールはどの位置にも表示されます。私が使用した場合:

x = 0, y = rnd.nextInt(gameView.getHeight() - bmp.getHeight());

ボールは軸Oyに沿って表示されます。

しかし、画面のすべての端にボールが表示されることはできません。私を助けてください。ありがとう、

4

1 に答える 1

0

次のようなロジックを関数に入れることができます...

   x = rnd.nextInt(gameView.getWidth() - bmp.getWidth());
y = rnd.nextInt(gameView.getHeight() - bmp.getHeight());
//here
if(x<y){
 x=0;
}

else if(y<x){
  y=0;
}
 else{
 x=0;
  y=0;
  }

これにより、常にボールがフレームの側面に沿って配置されます...

于 2012-04-24T10:50:03.280 に答える