注意:我使用的是TornadFX和kotlin,但它基于javafx,并添加了一些kotlin,这就是为什么我要提到javafx,因为它似乎比TornadFX更与javafx相关。
我正在尝试获取javafx窗口(场景)上特定位置的颜色。原因是因为对于我的2d游戏,我试图构建一张Map。例如,如果我触摸黑色,则停止向该方向移动(因此边界)。或者如果是红色,那么就失去一条生命(障碍)。与其硬编码(我不知道如何才能做到这一点,因为我不希望Map只是一个正方形),我尝试获取像素和颜色。请注意,由于这是命中检测系统的一部分,它将以每秒100+的速度运行,因此我需要一个不会花费太多时间的解决方案。
另外,请注意,我不是试图从图像中获取像素,而是用户看到的窗口(只是澄清一下,以免有人误解)编辑:我刚刚意识到我可能会使用图像,并从中获得颜色。。。虽然如果我放大图像使Map变大。。那一部分让我很困惑,当时我怎么能做到。
1条答案
按热度按时间drnojrws1#
您可以使用robot api来执行此操作,以获取当前鼠标位置的颜色
要在光标移动时获取当前位置,需要使用setonmousemoved侦听器
然后,您可以比较颜色并进行检查,如果您希望在用户单击时显示颜色,则只需侦听右键或左键单击,然后在侦听器中使用相同的代码来获取此时的颜色
我在我的bot-creator项目中使用了这个解决方案,以提供可以根据当前位置颜色采取行动的工具