gpt4 book ai didi

java - 如何在不同分辨率下获取同一位置的鼠标位置

转载 作者:太空宇宙 更新时间:2023-11-04 13:55:29 25 4
gpt4 key购买 nike

我为大学开发了一款大富翁克隆游戏(玻利维亚大富翁)。我将垄断板放入 Jpanel 中,并尝试使用 e.getX() 到鼠标监听器事件中获取精确坐标中的鼠标位置。问题是我的游戏支持大量分辨率 800x600、1024x768、1680x1050 .... 当我碰巧屏幕分辨率时,如何获得相同的位置单击? enter image description here

最佳答案

最好的方法是不使用像素坐标,而是使用百分比坐标。

在屏幕截图上,您的板有顶部偏移和左侧偏移,以及宽度和高度。

对于当前鼠标 x 位置,减去左侧偏移量并除以游戏板的宽度。您将得到的 x 值将是:

小于0:鼠标在棋盘左侧0和1之间:棋盘上的相对位置(0完全在左边,1完全在右边)大于一:鼠标位置在棋盘的右侧。

同样适用于 y 位置。

如果您随后根据这些相对值进行所有裁剪计算,则一切都应该独立于依赖关系进行工作。

关于java - 如何在不同分辨率下获取同一位置的鼠标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870426/

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