[Cocos2d塔防遊戲開發]Cocos2dx-3.X完成塔防遊戲《王國保衛戰》--敵人(二)之BOSS

該章節主要介紹遊戲中的BOSS


我主要製作了兩個BOSS,分別爲第6關的神燈和11關的大猩猩




首先,是BOSS的入場動畫,例如第六關牆壁倒塌的效果。我們注意到BaseMap中有個虛函數virtual void waveEvent();,在BaseMap的addWaves函數最後加入waveEvent(),每個地圖複寫這個函數,根據各個地圖寫上自己的動畫即可。其他關也有類似的動畫。


Boss也是繼承與Monster基類,除了基本屬性略強外,擁有技能。添加一個定時器,來設置不同時間後釋放技能。

兩個BOSS都有一個同樣的技能就是召喚小弟,下面介紹這個技能的實現方式。

在創建BOSS時,除了傳入BOSS自身的路線外,將其他所有路線也傳入BOSS,作爲其小弟的路線,當釋放技能時,根據BOSS目前所在位置計算出小弟的出生位置,每個path都添加若干小弟,別忘了在GameMangager加入。

void Boss_Canibal::addSons()
{
	for(unsigned int i =0;i<sonPath.size();i++){
		for(unsigned int j =1;j<sonPath.at(i).size();j++){
			std::vector<Point> points = sonPath.at(i).at(j);
			auto canibalOffspring = CanibalOffspring::createMonster(points,pointCounter);
			this->getParent()->addChild(canibalOffspring);
			GameManager::getInstance()->monsterVector.pushBack(canibalOffspring);
		}
	}
}


除此之外,還有其他技能,思路和防禦塔技能一樣,沒有什麼好介紹的~~




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章