当前位置: 首页 > news >正文

东营网站建设汕头企业建站系统模板

东营网站建设,汕头企业建站系统模板,东莞网站建设设计,网站开发 绩效考核#x1f386;音乐分享 New Boy —— 房东的猫 之前都用Sleep#xff08;#xff09;来控制画面帧率#xff0c;忽略了绘制画面的时间 如果绘制画面需要很长的时间#xff0c;那么就不能忽略了。 并且Sleep#xff08;#xff09;函数也不是特别准确#xff0c;那么就… 音乐分享  New Boy —— 房东的猫   之前都用Sleep来控制画面帧率忽略了绘制画面的时间 如果绘制画面需要很长的时间那么就不能忽略了。 并且Sleep函数也不是特别准确那么就要精准控制帧率了 开始时间 结束时间 频率F LARGE_INTEGER startCount,endCount,F; 获取计数器累加频率 QueryPerformanceFrequency(F); 获取当前的计数值 QueryPerformanceCounter(startCount);//获取起始计数并保存在startCount里面 获取终止计数 QueryPerformanceCounter(endCount); 计算时差 long long elapse(endCount.QuadPart-startCount.QuadPart)*1000000/F.QuadPart;//根据LARGE_INTEGER的定义elapse必须是long long 类型的 查询是否超时 while (elapse 1000000 / 60){//最长等待时间为60帧每秒Sleep(1);//先休眠1ms防止CPU使用率过高QueryPerformanceCounter(endCount);elapse (endCount.QuadPart - startCount.QuadPart) * 1000000 / F.QuadPart;} 这时候如果执行代码会发现虽然我们指定了Sleep(1),但是还是休眠了15ms 这是因为  要解决这个问题就要加上  timeBeginPeriod(1);//改变定时器时钟分辨率为1mstimeEndPeriod(1); 这里如果运行的话会报错因为 timeBeginPeriod()和 timeEndPeriod()的实现在 库winmm.lib中 解决方法如下 把winmm.lib添加到附加依赖项中 当然绘制画面也得加上下面的函数 BeginBatchDraw(); EndBatchDraw(); 下面咱们来看一个打气球小游戏把上面的帧率控制代码进行实操 //看着气球在画面中是分散的其实可以把他们想象成是在一个数组里面的然后进行操作 #includeeasyx.h #includestdio.h #includemath.h#define WIDTH 800//窗体宽度 #define HEIGHT 600//窗体高度 #define NUM 5//窗体中的气球数量 #define RADIUS 30//气球半径//保存气球的各项数据 typedef struct {int x;int y;int r;//半径int v;//速度COLORREF color; }balloon;//生成气球并初始化 balloon generateBalloon()//因为arrBalloons[]是balloon类型的,所以generateBalloon()也应该是balloon类型的 {balloon b;int m, n;m 100;n 700;b.x rand() % (n - m 1) m;b.y HEIGHT;b.r RADIUS;m 1;n 3;b.v rand() % (n - m 1) m;b.color RGB(rand() % 256, rand() % 256, rand() % 256);return b; }int main() {initgraph(WIDTH, HEIGHT);setbkcolor(WHITE);cleardevice();balloon arrBalloons[NUM];//保存目前窗体出现的气球数量for (int i 0; i NUM; i)//给每一个气球赋值(大小颜色){arrBalloons[i] generateBalloon();}int current NUM;//当前出现的气球数量int mouseX 0, mouseY 0;//鼠标位置timeBeginPeriod(1);LARGE_INTEGER startCount, endCount, F;QueryPerformanceFrequency(F);BeginBatchDraw();while (1){QueryPerformanceCounter(startCount);cleardevice();for (int i 0; i NUM; i)//绘制气球{setfillcolor(arrBalloons[i].color);solidcircle(arrBalloons[i].x, arrBalloons[i].y, arrBalloons[i].r);}for (int i 0; i NUM; i)//移动气球{arrBalloons[i].y - arrBalloons[i].v;}int i 0;while (i current){int y arrBalloons[i].y;if (y -RADIUS)//气球飞出窗体{for (int j i; j current - 1; j)//删除飞出的气球{arrBalloons[j] arrBalloons[j 1];}current--;}else{i;}}if (current NUM)//新增气球{arrBalloons[current] generateBalloon();current;}//绘制准心setlinecolor(RGB(237, 178, 29));setlinestyle(PS_SOLID, 3);circle(mouseX, mouseY, 20);line(mouseX - 20, mouseY, mouseX 20, mouseY);//准心使用了mouseX,mouseY便于准心可以与鼠标指针一起移动line(mouseX, mouseY - 20, mouseX, mouseY 20);QueryPerformanceCounter(endCount);long long elapse (endCount.QuadPart - startCount.QuadPart) * 1000000 / F.QuadPart;while (elapse 1000000 / 60)//最长等待时间为60帧每秒{Sleep(1);ExMessage msg;bool isOK peekmessage(msg, EX_MOUSE);if (isOK true){if (msg.message WM_MOUSEMOVE)//鼠标移动消息{ //更新鼠标位置mouseX msg.x;mouseY msg.y;}else if (msg.message WM_LBUTTONDOWN)//鼠标点击消息{int i 0;while (i current){int ballX arrBalloons[i].x;int ballY arrBalloons[i].y;int distance (int)sqrt(pow(ballY - msg.y, 2) pow(ballX - msg.x, 2));if (distance RADIUS)//如果点击到了气球就把气球删除{for (int j i; j current - 1; j){arrBalloons[j] arrBalloons[j 1];}current--;}else{i;}}}}QueryPerformanceCounter(endCount);elapse (endCount.QuadPart - startCount.QuadPart) * 1000000 / F.QuadPart;}FlushBatchDraw();}EndBatchDraw();timeEndPeriod(1);closegraph();return 0; } //看着气球在画面中是分散的其实可以把他们想象成是在一个数组里面的然后进行操作 Code over
http://www.hkea.cn/news/14536763/

相关文章:

  • 订餐网站开发方案微网站自己可以做么
  • 深圳网站策划推广河北网站开发网站
  • 郑州网络推广招聘广州seo推广系统
  • 怎么免费制作网站北京景观设计公司
  • 广州招聘网网站开发接网站建设单子的网站
  • 珠海建站联系方式云空间提供网站
  • 襄州区住房和城乡建设局网站古德设计网gooood官网
  • 郑州大旗网站制作公司适合小学生的新闻事件
  • 单县菏泽网站建设台州做网站seo
  • 网站搜索排名高怎么做程序员自己做网站赚钱
  • pc网站开发成app难度江西省赣州市中考分数线2022
  • 企业网站收费标准工程建设项目网站
  • 找个免费的网站这么难吗html静态页面模板
  • 专门做美食的视频网站有哪些企业官网设计图
  • 上海网站建设 方案项目建设情况
  • wordpress产品属性搭配杭州网站建设专注乐云seo
  • 国土网站建设自查报告网页设计与制作第六版
  • 做微信网站沙坪坝集团网站建设
  • 建设响应式网站有哪些好处dz和wordpress论坛
  • 网站如何盈利有哪些招聘网站
  • 2023年度最火关键词岳阳seo招聘
  • 国外企业招聘网站wap网站和app的区别
  • 石家庄网站制作官网南宁营销型网站制作
  • 网站怎么做免费seo快排
  • 网站开发游戏程序开发如何做一个属于自己的网站
  • 阳江房地产信息网官方网站企业微信平台
  • 网站建设咨询做视频找素材的网站有哪些
  • 成都电子商城网站开发wordpress个性登录
  • 舟山市普陀区建设局网站wordpress主题文章列表的
  • 网站运营与推广计划书建筑网格图绘制