如何在 libgdx 中获取光标位置并将其应用于 Sprite ?像这样?
我希望我的 sprite 的方向指向我的光标在屏幕上的任何位置。我搜索 libgdx 示例,但找不到与此相关的任何示例。
最佳答案
获取光标位置
如果您正在轮询输入,请使用 Gdx.input.getX()
和 Gdx.input.getY()
获取当前鼠标的 x 和 y 坐标. (文档说它只与触摸有关,但代码 looks like it reports raw mouse values 与按钮状态无关。)
如果您使用的是 InputProcessor
,您可以使用以下之一:
- touchMoved callback (在较旧的 libGDX 版本上)
- mouseMoved callback (在较新的 libGDX 版本上)
在没有按下任何按钮的情况下接收来自鼠标的输入事件。
将位置应用于 Sprite
更新 Vector2
从当前 Sprite 位置指向光标位置。这可以是您的 Sprite 的标题。您需要旋转 Sprite 的标题以匹配此 vector 。
使用Vector2.angle()
计算这个 vector 的角度,并将你的 Sprite 的旋转设置为此。 (这是相对于正 X 轴的,所以如果你想要它相对于 Y 轴,你可能需要添加一个常量。)
关于java - 获取 LIBGDX 中的光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381031/