c++遊戲教程使用easyx做出大飛機

效果圖

這個打飛機小遊戲素材都很一般,直接網上摳圖下來的。

但我們應該學習一下怎麼入門這一款經典小遊戲。

遊戲對象

首先遊戲對象就這幾個東西

// 全局畫板
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"));
}

子彈和敵人的結構體先設計好,其實就是用來控制他們的位置的。

struct ZIDAN
{
	int x;
	int y;
};
struct DIREN
{
	int x;
	int y;
};

子彈和敵人是否碰撞,這裡需要寫碰撞檢測,其實就是幾點兩點之間的距離就可以,這是最經典的碰撞算法。

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做出大飛機的詳細內容,更多關於c++ easyx飛機遊戲的資料請關註WalkonNet其它相關文章!

推薦閱讀: