Java 检查GUI图像是否与其他图像重叠
我有一个简短的问题。我试图通过获取图形用户界面图形中的x和y坐标以及大小来查看一个图像是否与另一个图像重叠。我如何用if语句检查它?还是有更好的办法 这些图像都是我从抽象精灵类扩展而来的对象的一部分。我应该检查当前的精灵图像是否与s中包含的精灵图像重叠 像往常一样,非常感谢您的时间和帮助。对不起,如果我提供的信息令人困惑Java 检查GUI图像是否与其他图像重叠,java,user-interface,Java,User Interface,我有一个简短的问题。我试图通过获取图形用户界面图形中的x和y坐标以及大小来查看一个图像是否与另一个图像重叠。我如何用if语句检查它?还是有更好的办法 这些图像都是我从抽象精灵类扩展而来的对象的一部分。我应该检查当前的精灵图像是否与s中包含的精灵图像重叠 像往常一样,非常感谢您的时间和帮助。对不起,如果我提供的信息令人困惑 import java.awt.Graphics; import java.awt.Image; import javax.imageio.ImageIO; imp
import java.awt.Graphics;
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
import java.util.Random;
abstract class Sprite
{
private int x;
private int y;
private int size;
private int w;
private int h;
private int xSlope;
private int ySlope;
private Image image;
private static Random rand;
public Sprite(int xIn, int yIn, int width, int height, String imagePath, int imageSize) {
if (rand == null) {
rand = new Random();
}
size = imageSize;
setImage(imagePath);
x = xIn;
y = yIn;
w = width;
h = height;
xSlope = rand.nextInt(11) - 5;
ySlope = rand.nextInt(11) - 5;
}
public int getX() { return x; }
public int getY() { return y; }
public int getSize() { return size; }
public void setSize(int s) { size = s; }
public void setX(int xIn) { x = xIn; }
public void setY(int yIn) { y = yIn; }
public void setImage(String imagePath) {
try {
image = ImageIO.read(new File(imagePath));
} catch (IOException ioe) {
System.out.println("Unable to load image file.");
}
}
public Image getImage() { return image; }
public boolean overlaps(Sprite s) {
int locX = this.getX();
int locY = this.getY();
int sz = getSize();
int overX = s.getX();
int overY = s.getY();
int overSz = getSize();
if
return false;
}
public void update(Graphics g) {
g.drawImage(getImage(), x, y, getSize(), getSize(), null);
}
public void move() {
// Move the Sprite
int x = getX() + xSlope;
int y = getY() + ySlope;
if (x < 0) x = w;
if (x > w) x = 0;
if (y < 0) y = h;
if (y > h) y = 0;
setX(x);
setY(y);
}
}
什么是雪碧班?它有什么方法?您确定getSize返回一个int值吗?我希望有其他东西,比如维度,因为int不能保存足够的信息来完整描述大小的概念。我不会说你提供的信息令人困惑,但它确实看起来相当不完整。请编辑你的问题,如果可能的话,试着投入更多的精力,从我们的角度提问:除了你选择向我们透露的内容之外,对你的问题一无所知的人。你能提供这个精灵课程的细节吗?它是否扩展了一些Swing类?我现在正在更新代码:很抱歉,缺少信息。请使用两个代表图像边界框的矩形,并检查它们是否相交