标题:关于keystate函数的问题,我只按了一次左方向键,他就像按了几次一样
只看楼主
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
结帖率:87.5%
已结贴  问题点数:20 回复次数:6 
关于keystate函数的问题,我只按了一次左方向键,他就像按了几次一样
  
  while(TRUE)
    {
        if(KEYDOWN(VK_LEFT))
             {
                 if(S[0].DIR==UP_DIR)
                 t.DIR=LEFT_DIR;             //上转左=左
                 else if(S[0].DIR==LEFT_DIR)
                 t.DIR=DOWN_DIR;              //左转左=下
                 else if(S[0].DIR==DOWN_DIR)
                 t.DIR=RIGHT_DIR;             //下转左=右
                 else
                 t.DIR=UP_DIR;                  //右转左=上            
             }
         else if(KEYDOWN(VK_RIGHT))
             {
                 if(S[0].DIR==UP_DIR)
                 t.DIR=RIGHT_DIR;         //上转右=右
                 else if(S[0].DIR==RIGHT_DIR)
                 t.DIR=DOWN_DIR;          //右转右=下
                 else if(S[0].DIR==DOWN_DIR)   
                 t.DIR=LEFT_DIR;             //下转右=左
                 else
                 t.DIR=UP_DIR;            //左转右=上     
             }
             else
             {
                 t.DIR=S[0].DIR;
                 delay(10);   
             }
             if(t.DIR==UP_DIR)
             {
                 t.y=S[0].y-2*SNAKE_D;
                 t.x=S[0].x;
                 for(i=len-1;i>0;i--)
                 S[i]=S[i-1];
                 S[i]=t;
                Draw_Snake(S,len);
                delay(50);               
             }}
2013-07-24 15:26
Eumenides_me
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:63
专家分:151
注 册:2012-9-26
得分:20 
KEYDOWN方法没贴出来

估计你调用的可能是KeyDown事件, 你可以改用KeyPress试试。
2013-07-24 17:18
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
得分:0 
回复 2楼 Eumenides_me
#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000)? 1 : 0)

我用KEYDOWN和keystate都不行。。keypress用法是什么
2013-07-24 17:38
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
得分:0 
回复 楼主 bok002121
额,自己百度
2013-07-24 17:41
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
得分:0 
回复 2楼 Eumenides_me
C-FREE5.0还没有KeyPress
2013-07-24 17:44
Eumenides_me
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:63
专家分:151
注 册:2012-9-26
得分:0 
抱歉, 抱歉 ,我的理解错误, 你还是到对应编程语言版块去提问, 我当成C#的windows form程序了。
2013-07-24 18:23
bok002121
Rank: 2
等 级:论坛游民
帖 子:90
专家分:26
注 册:2012-11-11
得分:0 
回复 6楼 Eumenides_me
.....瞎了,跑这来了
2013-07-25 09:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-417898-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059453 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved