游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2244|回复: 5

请问如何直接获得鼠标的位置?

[复制链接]

8

主题

122

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2006-4-16 21:32:00 | 显示全部楼层 |阅读模式
查了查api,只能获得鼠标的屏幕坐标,如果鼠标移动到屏幕边界就不能继续获得鼠标的移动信息了。

quake3的源代码是用SetCursorPos把鼠标固定在屏幕中心,然后用GetCursorPos来获得鼠标的当前位置来计算每帧画面的鼠标移动的。难道就没有办法直接获得鼠标的移动数据吗?

2

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2006-4-16 21:46:00 | 显示全部楼层

Re:请问如何直接获得鼠标的位置?

如果你用DirectX的话,可以用DirectInput,可以很容易获取鼠标的相对运动。
不过Win32 SDK的话,像你这种情况我想应该判断鼠标是否处于屏幕边界,然后对边界上的情况进行处理,就好像一般的游戏里(比如星际)鼠标移动到屏幕边界就可以自动滚动地图那样。
PS:QUAKE3源代码我没看过,所以以上建议仅供参考。

8

主题

122

帖子

122

积分

注册会员

Rank: 2

积分
122
 楼主| 发表于 2006-4-17 10:43:00 | 显示全部楼层

Re:请问如何直接获得鼠标的位置?

多谢了

我搞的是opengl的fps游戏,看来还是离不开directx了。

7

主题

299

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
发表于 2006-4-17 10:58:00 | 显示全部楼层

Re:请问如何直接获得鼠标的位置?

用api也不难,写多几行而已,每帧计算鼠标偏移了多少然后再把它重新锁定在屏幕中心

23

主题

515

帖子

552

积分

高级会员

Rank: 4

积分
552
发表于 2006-4-17 14:43:00 | 显示全部楼层

Re:请问如何直接获得鼠标的位置?

不是directX,而是DirectInput。

OGL和DirectInput又不矛盾!

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-4-17 14:47:00 | 显示全部楼层

Re:请问如何直接获得鼠标的位置?

楼上正解。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 05:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表