Easyx实现窗口自动碰撞的小球

本文实例为大家分享了Easyx实现窗口自动碰撞的小球的具体代码,供大家参考,具体内容如下
Easyx实现窗口自动碰撞的小球
文章图片

代码:

#include#include#include int main(){//创建窗口initgraph(640, 480); //定义小球的数据int bx = getwidth() / 2; int by = getheight() / 2; int br = 20; int xSpeed = 5; //速度int ySpeed = 5; //处理消息while (true){int startTime = clock(); //获取当前的毫秒数(程序启动到调用clock的时间)//双缓冲BeginBatchDraw(); //开始双缓冲//清屏cleardevice(); //绘制小球setfillcolor(GREEN); solidcircle(bx, by, br); //移动小球bx += xSpeed; by += ySpeed; //如果碰撞到边界就反弹if (bx+br>getwidth()||bx - br < 0){xSpeed = -xSpeed; }if (by + br > getheight() || by - br < 0){ySpeed = -ySpeed; }static ExMessage msg; //每次循环的时候,不要重新定义while (peekmessage(&msg,EM_MOUSE | EM_KEY)){ }EndBatchDraw(); //把内存中的图片显示到窗口上 //fps帧数一般游戏是24帧数或60帧数怎么控制帧率1000毫秒/60帧=16.666int frameTime = clock() - startTime; //获取当前帧执行了多少毫秒//如果当前帧执行时间小于美珍应该执行的时间(提前执行完毕)if (frameTime < 1000 / 60){Sleep(1000 / 60 - frameTime); //多余的时间睡觉//Sleep(16); }} return 0; }

【Easyx实现窗口自动碰撞的小球】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    推荐阅读