所以基本上当我使用箭头键时,这个红球会移动,但我可以将它移出屏幕。我怎样才能做到让球无法越过边界?
我正在考虑做一些事情,比如检测球的位置是否 >= 屏幕边缘,然后它会像中间一样重生,但不确定我应该如何实现它。
//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);
}
}
答案 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;