这个植物大战僵尸的小游戏Demo 虽然下,但是基本包括了:
1.植物的选取、僵尸的攻击、发射子弹;
2.太阳的生成、碰撞检测等功能;
第一部分:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第一部分:开始场景
第二部分:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第二部分:菜单场景
第三部分:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第三部分:通关场景
第四部分:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第四部分:通关失败场景
第五部分:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第五部分:公用类
第六部分:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第六部分:植物类
第七部分:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第七部分:僵尸类
第八部分:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第八部分:子弹类
第九部分<A>:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第九部分:游戏场景GameScene.h
第九部分<B>:Cocos2d-x简单游戏<植物大战僵尸>代码实现|第九部分:游戏场景GameScene.cpp
/*
通关失败场景
*/
#ifndef __MyTest__FailScene__
#define __MyTest__FailScene__
#include <iostream>
#include "CommonHeader.h"
class FailScene :public CCLayer {
public:
FailScene();
~FailScene();
virtual bool init();
CREATE_FUNC(FailScene);
SCENE_FUNC(FailScene);
void back();
void exit();
};
#endif /* defined(__MyTest__FailScene__) */
#include "FailScene.h"
#include "MenuScene.h"
extern int LEVEL;
boolFailScene::init(){
INIT_CCLAYER_FUNC;
//获取屏幕尺寸
CCSize size = GET_WINSIZE;
//添加失败图片
CCSprite *pSprite = CCSprite::create("failscene.png");
#warning mark------------------
pSprite->setPosition(ccp(size.width/2, size.height/2));
this->addChild(pSprite);
//返回主菜单
CCLabelTTF* label11 =CCLabelTTF::create("返回主菜单","Georgia-BoldItalic", 30);
CCMenuItemLabel* label1 =CCMenuItemLabel::create(label11);
label1->setColor(ccc3(0,0, 255));
label1->setTarget(this,menu_selector(FailScene::back));
//退出游戏
CCLabelTTF* label12 =CCLabelTTF::create("退出游戏","Georgia-BoldItalic", 30);
CCMenuItemLabel* label2 =CCMenuItemLabel::create(label12);
label2->setColor(ccc3(255,0, 0));
label2->setTarget(this,menu_selector(FailScene::exit));
//添加返回主菜单
CCMenu* menu = CCMenu::create(label1,NULL);
menu->setPosition(ccp(140,160));
this->addChild(menu);
//添加退出
CCMenu* menu1 = CCMenu::create(label2,NULL);
menu1->setPosition(ccp(335,160));
this->addChild(menu1);
return true;
}
voidFailScene::exit(){
CCDirector::sharedDirector()->end();
}
voidFailScene::back(){
CCTransitionCrossFade *fade =CCTransitionCrossFade::create(1.0f,MenuScene::scene());
CCDirector::sharedDirector()->replaceScene(fade);
LEVEL = 1;
}