D3D游戏关于窗口中如何精确确定鼠标位置的相关讨论

在开发D3D游戏时,如何正确获取窗口内鼠标位置是关键。常见错误是忽略窗口边框和标题栏导致的坐标偏差。通过使用`AdjustWindowRect`函数调整窗口大小,确保客户端区域与后台缓存匹配,可以解决这个问题。调整后,窗口将适应后台缓冲区大小,从而提供准确的鼠标坐标。在创建窗口时应用适当的风格,如`WS_OVERLAPPEDWINDOW`,并结合`CreateWindow`函数,可以确保在窗口和全屏模式下都能正确获取坐标。
摘要由CSDN通过智能技术生成

在GameDev中的相关贴子:

(1)http://www.gamedev.net/topic/623813-getting-mouse-position/

里面有几句很重要的话:

<1>How do you create your application window?
A common mistake is to choose some backbuffer resolution (for example 1024x768), create a backbuffer with this resolution and also create a window with this size - while forgetting, that if window is 1024x768 then its client area is smaller (because of the title bar and borders) and DirectX rendering will be stretched. 

<2>//一般我们取得坐标后,就可以横坐标加8/2,纵坐标加28/2即可获取真实的坐标,不过不同创建窗口的风格会导致不同的差异,所以请依据真实情况调整即可

 it's 8 pixels for borders and 28 pixels for the title bar (on my Vista, this depends on your OS and your settings, you can change the title bar size somewhere). 

(2)关于DInput取不了屏幕坐标的思考,及Windows Proc取坐标有问题的解决方案

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值