网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月01日漏签0天
easyx吧 关注:10,943贴子:47,034
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 18回复贴,共1页
<<返回easyx吧
>0< 加载中...

继续求教…… 为什么这样暂停就卡死了……

  • 只看楼主
  • 收藏

  • 回复
  • 斯普林特老师
  • 二年级
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
else if( KEY_DOWN(VK_SPACE) )
{
ClockStop(WolfClock);
ClockStop(GameClock);
setcolor(WHITE);
setfont(20,0,"Tahoma");
outtextxy(500,400,"Pause");
Sleep(50);
while(true)
{
if(MouseHit())
m=GetMouseMsg();
if( KEY_DOWN(VK_SPACE) )
break;
}
setfillstyle(BLACK);
bar(500,400,620,430);
WolfClock.start=clock();
GameClock.start=clock();
}
这段程序的目的是:当用户按空格时,暂停;再按一次,恢复……
不过为什么实际运行的时候,按一下空格能暂停,但是再按的时候恢复不了呢……? 单步调试的时候貌似能出那个while……不知道什么情况,求解~


  • fammy043
  • 初二年级
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
进入 else if 后按空格,退出 while 了。
再怎么按估计也没反应。


2025-11-01 18:00:36
广告
不感兴趣
开通SVIP免广告
  • zeroxyh
  • 一年级
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
试试清空键盘缓冲


  • yangw80
  • 初三年级
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
局部代码没看懂,方便就贴个完整的吧。


  • zeroxyh
  • 一年级
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
就是缓冲区清除的问题,我改为以下代码后运行正常。
建议暂停和继续两个功能设为不同的按键。
Sleep(300);
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
while(true)
{
if(MouseHit())
m=GetMouseMsg();
if( KEY_DOWN(VK_SPACE) || (m.mkLButton && (m.x>=525 && m.y>=70 && m.x<=595 && m.y<=100) ) )
{
Sleep(300);
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
break;
}


  • 斯普林特老师
  • 二年级
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
按LS的改法改了,还是不行,但是发现暂停以后,按住Space不放,然后松开就能回来…… 这是什么道理……


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 18回复贴,共1页
<<返回easyx吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示