Java 在LWJGL中转换硬件光标

Java 在LWJGL中转换硬件光标,java,cursor,lwjgl,Java,Cursor,Lwjgl,我正在使用LWJGL的Mouse.setNativeCursor()在我正在制作的游戏中更改光标。但是,游戏的其余部分会放大,而光标保持1:1的像素比例,因此光标看起来不合适 有没有一种有效的方法可以动态变换光标 如果不是,通常认为软件光标(在鼠标坐标处绘制图像)是一个好的选择吗?到目前为止,我一直在避免使用它,因为它将鼠标移动与游戏的帧速率联系起来,这会导致延迟。我不知道,唯一的选择可能是缩放光标的纹理。或者,您可以隐藏光标并在OpenGL中绘制它。您只需在屏幕及其所有内容上方绘制一个二维四边

我正在使用LWJGL的
Mouse.setNativeCursor()
在我正在制作的游戏中更改光标。但是,游戏的其余部分会放大,而光标保持1:1的像素比例,因此光标看起来不合适

有没有一种有效的方法可以动态变换光标


如果不是,通常认为软件光标(在鼠标坐标处绘制图像)是一个好的选择吗?到目前为止,我一直在避免使用它,因为它将鼠标移动与游戏的帧速率联系起来,这会导致延迟。

我不知道,唯一的选择可能是缩放光标的纹理。或者,您可以隐藏光标并在OpenGL中绘制它。您只需在屏幕及其所有内容上方绘制一个二维四边形。这可以让你调整它的大小,但它可能会混淆用户,使鼠标更不准确


如果您希望在没有延迟的情况下进行动态缩放,那么隐藏它并绘制四元组可能是最好的方法。

光标是从IntBuffer创建的,因此要缩放它,需要重新绘制基础图像,将其转换为IntBuffer,然后重新创建光标。如果刻度不经常改变,我也许可以这样做,但除此之外,听起来唯一的解决方案是使用软件光标(如您所述绘制光标)。谢谢你的确认。