我如何阻止球离开屏幕?

时间:2021-05-21 19:27:26

标签: java

所以基本上当我使用箭头键时,这个红球会移动,但我可以将它移出屏幕。我怎样才能做到让球无法越过边界?

我正在考虑做一些事情,比如检测球的位置是否 >= 屏幕边缘,然后它会像中间一样重生,但不确定我应该如何实现它。

//Name: anon   Date:
   import javax.swing.*;
   import java.awt.*;
   import java.awt.event.*;
   import java.awt.image.*;
  
      private class Key extends KeyAdapter
      { 
         public void keyPressed(KeyEvent e)
         {
            if(e.getKeyCode() == KeyEvent.VK_UP) //arrow key 
               pd.setY( pd.getY()-10);
            if(e.getKeyCode() == KeyEvent.VK_DOWN)
               pd.setY( pd.getY()+10);
            if(e.getKeyCode() == KeyEvent.VK_LEFT)
               pd.setX( pd.getX()-10);
            if(e.getKeyCode() == KeyEvent.VK_RIGHT)
               pd.setX( pd.getX()+10);
               
            
            
               
          }
          
       }
   

1 个答案:

答案 0 :(得分:1)

如何检查 x 坐标加上圆的半径是否超出范围,然后对 y 坐标执行相同操作?

Point circleCenter;
int radius;

int screenW;
int screenH;

if (circleCenter.x + radius > screenW)
    circleCenter.x = screenW - radius;

if (circleCenter.x - radius < 0)
    circleCenter.x = 0 + radius;

if (circleCenter.y + radius > screenH)
    circleCenter.y = screenH - radius;

if (circleCenter.y - radius < 0)
    circleCenter.y = 0 + radius;