社区
游戏开发
帖子详情
获取用户窗口鼠标位置问题
09313
2009-07-21 04:00:39
我想取得客户窗口鼠标的位置,代码如下:
POINT a;
GetCursorPos(&a);
ScreenToClient(hWnd,&a);
发现a的位置与实际有差为什么?在(0,0)位置时是没错,但是移动鼠标的位置就慢慢开始有偏差了。
求解????
...全文
75
6
打赏
收藏
获取用户窗口鼠标位置问题
我想取得客户窗口鼠标的位置,代码如下: POINT a; GetCursorPos(&a); ScreenToClient(hWnd,&a); 发现a的位置与实际有差为什么?在(0,0)位置时是没错,但是移动鼠标的位置就慢慢开始有偏差了。 求解????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wzd0216
2009-07-23
打赏
举报
回复
BOOL CGame::Get3DCoord(CTerrain* g_pTerrain,POINT Pt)
{
D3DVIEWPORT9 vp;
g_pDevice->GetViewport(&vp);
D3DXMATRIX proj;
g_pDevice->GetTransform(D3DTS_PROJECTION, &proj);
float px = ((( 2.0f*Pt.x) / vp.Width) - 1.0f) / proj(0, 0);
float py = (((-2.0f*Pt.y) / vp.Height) + 1.0f) / proj(1, 1);
Ray ray;
ray._origin = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
ray._direction = D3DXVECTOR3(px, py, 1.0f);
D3DXMATRIX matView,matInvView;
g_pDevice->GetTransform(D3DTS_VIEW,&matView);
D3DXMatrixInverse(&matInvView,0,&matView);
D3DXVec3TransformCoord(&ray._origin,&ray._origin,&matInvView);
D3DXVec3TransformNormal(&ray._direction,&ray._direction,&matInvView);
D3DXVec3Normalize(&ray._direction, &ray._direction);
BOOL hit;
DWORD index;
float tu,tv;
D3DXIntersect(g_pTerrain->GetMesh(),g_pFollowCamera->GetPos(),&ray._direction,&hit,&index,&tu,&tv,NULL,NULL,NULL);
if(hit)
{
g_pTerrain->GetTerrainVertex(&vMouseCross,index,tu,tv);
}
return hit;
}
是 获取问题吧
hemiya
2009-07-21
打赏
举报
回复
POINT a;
GetCursorPos(&a); // 相对于桌面左上角坐标
ScreenToClient(hWnd,&a); // 返回的是相对于窗口左上角的坐标
09313
2009-07-21
打赏
举报
回复
就是跟窗口的坐标有差,例如窗口坐标的(300,300)鼠标移到那里显示的确是(300-,300-)或(300+,300+)就有一个偏差
如果是分辨率问题要怎么解决?
xingzhe2001
2009-07-21
打赏
举报
回复
不知道你说得是跟谁有偏差
xingzhe2001
2009-07-21
打赏
举报
回复
你是说和d3d里面的ui对不上的情况么?
拼命先生A
2009-07-21
打赏
举报
回复
会不会是分辨率的问题?
Windows游戏编程系列之1:GUI
窗口
界面编程及游戏入门实战
我将带领大家来系统学习Windows的
窗口
编程,包括消息、
窗口
、GDI绘图、游戏开发等。 本课程比较基础,非常适合初学者入门,读者可以边学习边实践。 具体的章节目录和课程内容如下所示: ---------------------------...
JavaScript
获取
鼠标
当前
位置
的三种方法
JavaScript
获取
鼠标
当前
位置
的三种方法 mwl1711883743 在日常的网页操作中,常常会遇到
鼠标
交互的
问题
,可能会需要知道
鼠标
的坐标。以下提供了三种方法
获取
鼠标
的坐标。 在这之前需要知道屏幕、浏览器
窗口
和文档的区别。 相对于屏幕的
位置
屏幕指的是电脑的显示器,有14-40+寸大小不等,浏览器
窗口
大小的变化、文档的上下滚动操作都不会改变
鼠标
相对于屏幕的
位置
。 需要着重强调的是e...
jQuery
获取
鼠标
的坐标
位置
jQuery
获取
鼠标
的坐标
位置
这里用到两个属性:event.pageX和event.pageY event.pageX:该属性返回
鼠标
指针的
位置
,相对于文档的左边缘;该事件属性通常与event.pageY属性一起使用 event.pageY:该属性返回
鼠标
指针的
位置
,相对于文档的上边缘;该事件属性通常与event.pageX属性一起使用 通过这两个属性,可以确定元素在当前页面的坐标值,
鼠标
相对以文档的左边缘的位.........
python如何
获取
鼠标
位置
_Python实战【用Python写游戏第四节】
获取
鼠标
位置
欢迎大家来到Python自学教程实战篇,我们上一讲了解了游戏中有哪些需要响应的事件及每次响应如何给出需要的反馈等内容,这节课我们来学习如何控制
获取
鼠标
的
位置
,使我们的游戏设计更流畅、更方便呢?最近微信上很火的“打飞机”游戏,通过手指在屏幕上触摸的
位置
来移动你的飞机。在电脑上,我们没法直接用手操作,但可以用
鼠标
替代手指。在电脑游戏里,
鼠标
是个很好用的输入设备。因此在很多游戏中,都需要得到
鼠标
的
位置
,...
Qt
获取
窗口
的
位置
和大小
QDesktopWidget 提供了详细的
位置
信息,其能够自动返回
窗口
在
用户
窗口
的
位置
和应用程序
窗口
的
位置
, QDesktopWidget* desktopWidget = QApplication::desktop(); QRect clientRect = desktopWidget->availableGeometry(); //
用户
可用
窗口
大小 QRect applicatio
游戏开发
8,305
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章