网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月06日
漏签
0
天
c语言吧
关注:
791,957
贴子:
4,310,060
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
62
回复贴,共
2
页
,跳到
页
确定
<<返回c语言吧
>0< 加载中...
咋样才能让这贪吃蛇不这么迟钝
只看楼主
收藏
回复
墨浅
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
视频来自:
百度贴吧
为什么学C
超能力者
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
给他加速
Kolkas
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
看看码
墨浅
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
为什么学C
超能力者
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
两个Sleep(500)删掉一个
里想奈-
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
sleep太长,改成sleep1,然后控制一下帧率
还可以继续水
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
Vy=-40;
y+=Vy;
Vx=0;
其它方向也也类似加一条
比如,向下的,
Vy=40;
Vx=0;
y+=Vy;
Lason•᷄ࡇ•᷅
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
处理消息不应和刷新画面共用同一周期
一周休七日
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
去掉延时,用时间差来决定是否移动
何金银
超能力者
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
调整下帧数?
jeamil🥏
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
只初始化网格一次,每次只更新蛇头位置看看可不可以
Ltab
强能力者
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你Sleep调的太大,500就是0.5秒,所以感觉延迟,我测试下来一般Sleep键盘操作100,鼠标操作50体验较好
不一样的惩
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
帧率不建议用sleep,可以试着用循环首尾检测时间,结尾动态等待控制帧率,用时钟刻-循环耗时
还可以继续水
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
竟然这么快做好了,那可以尝试更进一步了。改用时间差来自动走一步,用到的api是GetTickCount,和Sleep一样,包含头文件windows.h就能了。DWORD类型的变量,应该也是在这头文件还定义的,其实就是4字节的 unsigned int吧。
实现方法大概是在while循环之前,声明一个定义一个预定的未来时间,DWORD t1=GetTickCount()+1000;//t1等于获取当前时间+1000;然后在循环体内原来是if(ii>10)那些地方,改成if(GetTickCount()>=t1)//已过了1000毫秒。{//添加自动走一步,更新画面等;并且重设预定未来时间t1=TetTickCount()+1000;}。
如果能运行了,就把可以前面Sleep(50)改成Sleep(1)。如果这些代码是在窗口的回调函数内写的,一般都有接收和分派消息的api,直接删了Sleep(50)也不会卡。
贴吧用户_a9DJ2JC
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这是用的什么gui库?
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示