Easyx實現(xiàn)窗口自動碰撞的小球
更新時間:2022年01月14日 09:01:30 作者:shi_xiaobin
這篇文章主要為大家詳細(xì)介紹了Easyx實現(xiàn)窗口自動碰撞的小球,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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();//獲取當(dāng)前的毫秒數(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;//獲取當(dāng)前幀執(zhí)行了多少毫秒
?? ??? ?//如果當(dāng)前幀執(zhí)行時間小于美珍應(yīng)該執(zhí)行的時間(提前執(zhí)行完畢)
?? ??? ?if (frameTime < 1000 / 60)
?? ??? ?{
?? ??? ??? ?Sleep(1000 / 60 - frameTime);//多余的時間睡覺
?? ??? ??? ?//Sleep(16);
?? ??? ?}
?? ??? ?
?? ?}
?
?? ?return 0;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一起來學(xué)習(xí)C++的函數(shù)指針和函數(shù)對象
這篇文章主要為大家詳細(xì)介紹了C++函數(shù)指針和函數(shù)對象,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作
這篇文章給大家介紹了使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12
C++動態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解
這篇文章主要介紹了C++動態(tài)內(nèi)存分配(new/new[]和delete/delete[])詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
Matlab實現(xiàn)鼠標(biāo)光標(biāo)變成愛心和瞄準(zhǔn)鏡形狀
這篇文章主要為大家詳細(xì)介紹了如何利用Matlab實現(xiàn)將鼠標(biāo)光標(biāo)變成愛心和瞄準(zhǔn)鏡等形狀,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-08-08

