c++游戲教程使用easyx做出大飛機
效果圖

這個打飛機小游戲素材都很一般,直接網(wǎng)上摳圖下來的。
但我們應(yīng)該學習一下怎么入門這一款經(jīng)典小游戲。

游戲?qū)ο?/h2>
首先游戲?qū)ο缶瓦@幾個東西
// 全局畫板 IMAGE bk; IMAGE BK; IMAGE Plane; IMAGE Diren; IMAGE Zidan;
這個游戲用到游戲插件easyX,我們想載入這幾個圖片。
//預加載資源,需要加載了之后才能用
void loadRes()
{
loadimage(&bk, _T("res\\bg.png"));
loadimage(&BK, _T("res\\bg.png"));
loadimage(&Plane, _T("res\\plane.png"));
loadimage(&Diren, _T("res\\diren.png"));
loadimage(&Zidan, _T("res\\zidan.png"));
}
子彈和敵人的結(jié)構(gòu)體先設(shè)計好,其實就是用來控制他們的位置的。
struct ZIDAN
{
int x;
int y;
};
struct DIREN
{
int x;
int y;
};
子彈和敵人是否碰撞,這里需要寫碰撞檢測,其實就是幾點兩點之間的距離就可以,這是最經(jīng)典的碰撞算法。
bool isPeng(int x2,int y2,int x1,int y1)
{
int result=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
if(result<2500)
{
return true;
}
return false;
}
子彈與敵人碰撞之后,敵人就毀滅。這里面只需要把敵人移出屏幕就可以,因為子彈和敵人都是可以重復利用的,所以最好做一個對象池,可以重復用上。
//判斷子彈和飛機是否相撞
for(i=0;i<8;i++)
{
for(int j=0;j<5;j++)
{
if(isPeng(zidans[j].x,zidans[j].y,direns[i].x+25,direns[i].y+15))
{
direns[i].y = -100;
}
}
}
需要wsad進行控制搖桿,飛機飛行
if (_kbhit())
{
char ch = _getch();
if (ch == 'w')
{
planeY-=5;
}
if(ch == 's')
{
planeY+=5;
}
if(ch == 'a')
{
planeX-=5;
}
if(ch == 'd')
{
planeX+=5;
}
}以上就是c++游戲教程使用easyx做出大飛機的詳細內(nèi)容,更多關(guān)于c++ easyx飛機游戲的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue項目中頁面底部出現(xiàn)白邊及空白區(qū)域錯誤的問題
這篇文章主要介紹了vue項目中頁面底部出現(xiàn)白邊及空白區(qū)域錯誤的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
Vue2.0仿餓了么webapp單頁面應(yīng)用詳細步驟
本篇文章給大家分享了Vue2.0仿餓了么webapp單頁面應(yīng)用詳細步驟,有興趣的朋友可以跟著操作下。2018-07-07
vue3+ts+vant移動端H5項目搭建的實現(xiàn)步驟
本文主要介紹了vue3+ts+vant移動端H5項目搭建,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06

