欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Easyx實現(xiàn)窗口自動碰撞的小球

 更新時間:2022年01月14日 09:01:30   作者:shi_xiaobin  
這篇文章主要為大家詳細介紹了Easyx實現(xiàn)窗口自動碰撞的小球,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Easyx實現(xiàn)窗口自動碰撞的小球的具體代碼,供大家參考,具體內(nèi)容如下

代碼:

#include<easyx.h>
#include<stdlib.h>
#include<time.h>
?
int main()
{
?? ?//創(chuàng)建窗口
?? ?initgraph(640, 480);
?
?? ?//定義小球的數(shù)據(jù)
?? ?int bx = getwidth() / 2;
?? ?int by = getheight() / 2;
?? ?int br = 20;
?? ?int xSpeed = 5;//速度
?? ?int ySpeed = 5;
?? ?
?? ?//處理消息
?? ?while (true)
?? ?{
?? ??? ?int startTime = clock();//獲取當前的毫秒數(shù)(程序啟動到調(diào)用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;//每次循環(huán)的時候,不要重新定義
?? ??? ?while (peekmessage(&msg,EM_MOUSE | EM_KEY))
?? ??? ?{
?
?? ??? ?}
?? ??? ?EndBatchDraw();//把內(nèi)存中的圖片顯示到窗口上
?
?? ??? ?//fps幀數(shù) ?一般游戲是24幀數(shù)或60幀數(shù) ?怎么控制幀率 ?1000毫秒/60幀=16.666
?? ??? ?int frameTime = clock() - startTime;//獲取當前幀執(zhí)行了多少毫秒
?? ??? ?//如果當前幀執(zhí)行時間小于美珍應該執(zhí)行的時間(提前執(zhí)行完畢)
?? ??? ?if (frameTime < 1000 / 60)
?? ??? ?{
?? ??? ??? ?Sleep(1000 / 60 - frameTime);//多余的時間睡覺
?? ??? ??? ?//Sleep(16);
?? ??? ?}
?? ??? ?
?? ?}
?
?? ?return 0;
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論