Java 我如何阻止球从屏幕上移动?

Java 我如何阻止球从屏幕上移动?,java,Java,基本上,当我使用箭头键时,这个红色的球会移动,但我可以将它移出屏幕。我怎样才能使球不能越过边界呢 我在考虑做一些事情,比如检测球的位置是否在屏幕边缘,然后球会在中间重生,但我不确定该如何实现它 //Name: anon Date: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; private class Key ex

基本上,当我使用箭头键时,这个红色的球会移动,但我可以将它移出屏幕。我怎样才能使球不能越过边界呢

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

//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);
               
            
            
               
          }
          
       }
   

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

点圆中心;
整数半径;
int screenW;
int-screenH;
如果(圆圈中心.x+半径>屏幕W)
circleCenter.x=屏幕W-半径;
if(圆心x-半径<0)
圆心x=0+半径;
如果(圆心y+半径>屏幕H)
circleCenter.y=屏幕H-半径;
if(圆心y-半径<0)
圆心y=0+半径;

检查球的位置,看球是否在屏幕边缘。具体问题是什么?知道屏幕边界吗?(不相关,但您可能希望检查球的边缘,而不是它的中心。)那么屏幕边界在(408438)中,我会这样做吗?如果pd.getX>=408和pd.getY>=438,则pd.setX(350);赛蒂博士(350);如果你只是想阻止球离开屏幕,并且知道它的半径是r,比如如果(e.getKeyCode()==KeyEvent.VK_UP&pd.getY>r)阻止球在屏幕顶部向上移动,或者如果(e.getKeyCode()==KeyEvent.VK_DOWN&pd.getY<438-r)阻止球在底部移动。我可能会错误地使用getY,也可能是getX,但我相信你明白我的意思。