Java输入光标在printf前面_将光标固定在屏幕中间?

首先,让我们看看Mouse.grab(true)做什么。有两种截然不同的操作,全部分组为一个呼叫。第一个是将光标固定在屏幕中央,第二个是使光标不可见。这两种操作相结合都会将光标锁定在屏幕的中心。为了得到输入(我假设你已经使用这种方法进行相机移动),你必须使用鼠标类的差分位置函数Mouse.getDX()和Mouse.getDY(),它们返回光标光标位置的变化(有效地多少用户已经移动鼠标)这个框架。

现在,在3D游戏中,您倾向于使用十字准线。这不会被误认为是鼠标。十字准线是绘制在场景(以及帧缓冲区(屏幕)的中心)上的UI元素,其给出了玩家关于屏幕中心位置的参考点,并且在射击游戏中,子弹他们会拍摄出来,让他们瞄准。

在这里,我将提供一个简短的例子,说明如何实现这种效果。 如果你使用直接模式和固定管道(GL11)或后续版本,这个代码将会有很大的不同,这取决于你如何做图形,因此,这将主要是伪代码。随意指定你正在使用的渲染方法,我可以给你一个更详细的例子。

// Your 3D render code here

float aspectRatio = Dislay.getWidth()/(float) Display.getHeight();

// will depend on your rendering implementation

// however the concept stays the same, you switch from a perspective view

// to an orthogonal view

switch_projection_matrix_to_ortho(-1 * aspectRatio, 1 * aspectRatio, -1, 1, -1, 1);

// Apply a crosshair texture

crossahir_texture.bind()

// Draw a quad

quad.draw()

希望这有助于!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值