从鼠标 x 和 y 创建的矩形未使用 Graphics2D.translate 进行翻译(其他矩形进行翻译)

Rectangle created from mouse x and y not being translated with Graphics2D.translate (other rectangles do)

我正在制作一款带有生存元素的横向卷轴游戏。 (有点像泰拉瑞亚)当我向右走时,所有的碰撞箱和其他物体都向左移动,使用 Graphics2D.translate() (这很好)但是当我用鼠标点击某些东西时,它鼠标的 rectangle/hitbox 似乎不是 "translated"。我确定问题出在鼠标的矩形上,因为如果我删除 Graphics2D.translate() 的两行,块的挖掘工作,但你不能自由走动。

我已经尝试使用 Area 对象,但也没有修复它,它仍然是同样的问题。

Rectangle rec = new Rectangle((int)e.getPoint().getX, (int)e.getPoint().getY(), 1, 1);

System.out.println("X: " + (int)e.getPoint().getX());
System.out.println("Y: " + (int)e.getPoint().getY());
bHandler.digBlock(rec); //bHandler is my class BlockHandler:

块处理程序class:


public void digBlock(Rectangle rec) {
    for (int i = 0; i < handler.block.size(); i++) {
        Block block = handler.block.get(i);
        if(rec.intersects(block.getBounds())) {
            System.out.println("CLICKED");
            block.setDigging(true);
        }   
    }
}

block.getBounds() 方法 returns 一个矩形。 block.setDigging(true) 会将 Block.digging 布尔值设置为 true。

我想要的是一个被正确翻译的矩形or/and我想在我点击一个块时在我的控制台中得到输出"CLICKED"!

感谢您的帮助!

我通过将 Camera 对象的 x 变量添加到鼠标矩形的 x 来解决它!再次感谢您的帮助!