溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

c++怎么使用easyx做出大飛機

發(fā)布時間:2022-08-25 11:22:36 來源:億速云 閱讀:142 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“c++怎么使用easyx做出大飛機”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“c++怎么使用easyx做出大飛機”吧!

效果圖

c++怎么使用easyx做出大飛機

游戲?qū)ο?/h3>

首先游戲?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)容了,經(jīng)過本文的學習后,相信大家對c++怎么使用easyx做出大飛機這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI