gpt4 book ai didi

java - 从鼠标 x 和 y 创建的矩形未使用 Graphics2D.translate 进行平移(其他矩形会平移)

转载 作者:行者123 更新时间:2023-12-02 02:09:22 26 4
gpt4 key购买 nike

我正在制作一款带有生存元素的横向卷轴游戏。 (有点像泰拉瑞亚)当我向右走时,使用 Graphics2D.translate() 将所有命中框和其他对象移动到左侧(这很好),但是当我使用鼠标单击某些内容时,似乎鼠标的矩形/点击框没有被“翻译”。我确信问题出在鼠标的矩形上,因为如果我删除 Graphics2D.translate() 的两行,挖掘 block 可以工作,但你不能自由走动。

我已经尝试过使用 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:

BlockHandler 类:


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()方法返回一个矩形。block.setDigging(true) 会将 Block.digging boolean 值设置为 true。

我想要的是一个正确翻译的矩形或/并且当我单击一个 block 时,我希望在我的控制台中获得“CLICKED”输出!

感谢您的帮助!

最佳答案

我通过将相机对象中的 x 变量添加到鼠标矩形的 x 来解决这个问题!再次感谢您的帮助!

关于java - 从鼠标 x 和 y 创建的矩形未使用 Graphics2D.translate 进行平移(其他矩形会平移),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57337192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com