Java 检查GUI图像是否与其他图像重叠

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

我有一个简短的问题。我试图通过获取图形用户界面图形中的x和y坐标以及大小来查看一个图像是否与另一个图像重叠。我如何用if语句检查它?还是有更好的办法

这些图像都是我从抽象精灵类扩展而来的对象的一部分。我应该检查当前的精灵图像是否与s中包含的精灵图像重叠

像往常一样,非常感谢您的时间和帮助。对不起,如果我提供的信息令人困惑

    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类?我现在正在更新代码:很抱歉,缺少信息。请使用两个代表图像边界框的矩形,并检查它们是否相交