码迷,mamicode.com
首页 > 其他好文 > 详细

龙书dx9 chapter5 light的创建和 GetAsyncKeyState()&0x8000f的问题

时间:2014-12-02 01:33:02      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   color   使用   sp   div   2014   

笔记1:当我们找个文本,按下物理按键a   aaaaa时候,会发现第一次会有隔断的时间。

参考:http://tieba.baidu.com/p/1829831956

GetAsyncKeyState()  的返回值怎么理解?

实例代码里有if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )这一句,按下→键后,得到 0x1

void main()
{
    static int testInt=0;
    while (1)
    {
        if(short a =( ::GetAsyncKeyState(VK_RIGHT)))//
        {
        cout<<a<<endl;      
        cout<<testInt++<<"次数"<<endl;
        }
    }
}

bubuko.com,布布扣上面代码结果发现-32767出现了一次。

if(short a =( ::GetAsyncKeyState(VK_RIGHT))&0x8000f)后,按下只输出一次 1

其中short的负数以补码的形式存储在计算机中, -32767即是0x8001  -32768为0x8000

总结:1.当我们持续按键不松开,使用GetAsyncKeyState(VK_RIGHT))&0x8000f)只返回一次真;2.0x8000f其中起始的8没有起作用

 

龙书dx9 chapter5 light的创建和 GetAsyncKeyState()&0x8000f的问题

标签:style   blog   http   ar   color   使用   sp   div   2014   

原文地址:http://www.cnblogs.com/dust-fly/p/4136335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!