游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7840|回复: 20

如何得到鼠标移动距离?

[复制链接]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-12-11 16:02:00 | 显示全部楼层 |阅读模式
我的光标的位置是(0, 240)
现在我又把鼠标向左移动了一定距离,但光标的位置仍然是(0,240)

我该怎么才能得到鼠标向左移动了多少距离呢? [em4]

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2006-12-11 16:11:00 | 显示全部楼层

Re:如何得到鼠标移动距离?

一定距离,但光标的位置仍然是(0,240)

怎么会呢?

POINT pt;
GetCursorPos( &pt );
::ScreenToClient( m_hWnd, &pt );

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
发表于 2006-12-11 17:42:00 | 显示全部楼层

Re:如何得到鼠标移动距离?

鼠标坏了?

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2006-12-11 18:44:00 | 显示全部楼层

Re: Re:如何得到鼠标移动距离?

xgreenclover: Re:如何得到鼠标移动距离?
鼠标坏了?


鼠标坐标在(0,240),说明鼠标已经在屏幕的最左边了.

你家里的鼠标,能穿过屏幕啊???
坐标还能变成(-100,240)啊???

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
发表于 2006-12-11 19:32:00 | 显示全部楼层

Re: 如何得到鼠标移动距离?

哦,是啊,你用directInput可以直接取得偏移量啊,
lpdimouse->GetDeviceState(sizeof(DIMOUSESTATE), (void*)&s_mouseState);
POINT di::GetMouseShift()
{
        POINT pt = {s_mouseState.lX, s_mouseState.lY};
        return pt;
}

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2006-12-11 23:23:00 | 显示全部楼层

Re:如何得到鼠标移动距离?

对不起,楼上.
我只会 VC6 + OpenGL + OpenAL 来编程序.

可不可以不用 direct 系列?
难道 C++ 里面就没有 "能直接得到鼠标移动距离" 的函数吗?

哭ing

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-12-11 23:29:00 | 显示全部楼层

Re:如何得到鼠标移动距离?

那你先初始化鼠标位置到窗口中心,判断鼠标一旦移动就得到偏移量,并把位置重置回窗口中心,这样就不会出现到边上位置不变的情况了

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
发表于 2006-12-12 00:14:00 | 显示全部楼层

Re:如何得到鼠标移动距离?

那对于GUI部件的选择怎么办?

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
发表于 2006-12-12 09:04:00 | 显示全部楼层

Re:如何得到鼠标移动距离?

玩几个游戏就明白了。

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2006-12-12 14:41:00 | 显示全部楼层

Re: Re:如何得到鼠标移动距离?

jk20012001: Re:如何得到鼠标移动距离?
那你先初始化鼠标位置到窗口中心,判断鼠标一旦移动就得到偏移量,并把位置重置回窗口中心,这样就不会出现到边上位置不变的情况了

我为什么要发这个帖子?

不就是为了了解 "有没有其他方法" 吗?

"初始化鼠标位置到窗口中心,判断鼠标一旦移动就得到偏移量,"
我靠,这都几十年前的方法啦! 很不方便.

最近我发现有些引擎,它可以在 "不锁定鼠标坐标"的情况下,得到鼠标移动距离!
那个震撼啊!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 03:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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