您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x简单游戏<植物大战僵尸>代码实现|第二部分:菜单场景<后续会提供源码下载链接>

2014-03-17 13:30 1206 查看
这个植物大战僵尸的小游戏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__MenuScene__

#define __MyTest__MenuScene__

#include <iostream>

#include "CommonHeader.h"

class MenuScene:public CCLayer{

    

    

public:
    MenuScene();

    ~MenuScene();
   virtualbool init();
    CREATE_FUNC(MenuScene);
    SCENE_FUNC(MenuScene);

    //冒险方法
   void adventureMode();
};

#endif /* defined(__MyTest__MenuScene__) */

#include "MenuScene.h"

#include "GameScene.h"

#include "SimpleAudioEngine.h"

using namespace
CocosDenshion;

boolMenuScene::init(){

    

    INIT_CCLAYER_FUNC;

    

    //获取设备尺寸

    CCSize size =CCDirector::sharedDirector()->getWinSize();

    //添加场景
   CCSprite* pSprite =CCSprite::create("main_background.png");
    pSprite->setScale(2.0f);
    pSprite->setPosition(ccp(size.width/2, size.height/2)
);
   this->addChild(pSprite,0);

    

    //创建成就图片

    CCMenuItemImage *sucessImage =CCMenuItemImage::create("chengjiu.png","chengjiu1.png");
    sucessImage->setScale(1.5f);
    sucessImage->setPosition(ccp(size.width/2-80,size.height/2-80));

    

    //创建点击图片按钮-并添加点击事件

    CCMenuItemImage *imageBtn1 =CCMenuItemImage::create("select10.png","select11.png");
    imageBtn1->setScale(2.0f);
    imageBtn1->setTarget(this,menu_selector(MenuScene::adventureMode));
    imageBtn1->setPosition(ccp(size.width/2+200,size.height/2+200));

    
   //

    CCMenuItemImage *imageBtn2 =CCMenuItemImage::create("select20.png","select21.png");
    imageBtn2->setScale(2.0f);
    imageBtn2->setPosition(ccp(size.width/2+200,size.height/2+90));

    

    CCMenuItemImage* imageBtn3 =CCMenuItemImage::create("select30.png","select31.png");
    imageBtn3->setScale(2.0f);
    imageBtn3->setPosition(ccp(size.width/2+200,size.height/2));

    

    

    CCMenuItemImage* imageBtn4 =CCMenuItemImage::create("select40.png","select41.png");
    imageBtn4->setScale(2.0f);
    imageBtn4->setPosition(ccp(size.width/2+190,size.height/2-90));

    

    CCMenuItemImage* imageBtn5 =CCMenuItemImage::create("SelectorScreen_Almanac.png","SelectorScreen_AlmanacHighlight.png");
    imageBtn5->setScale(1.5f);
    imageBtn5->setPosition(ccp(size.width/2+70,size.height/2-160));

    

    CCMenuItemImage* imageBtn6 =CCMenuItemImage::create("shop0.png","shop1.png");
    imageBtn6->setScale(1.5f);
    imageBtn6->setPosition(ccp(size.width/2+370,size.height/2-150));

    
   CCMenu* menu =CCMenu::create(sucessImage, imageBtn1, imageBtn2, imageBtn3,
imageBtn4, imageBtn5, imageBtn6,NULL);
    menu->setPosition(CCPointZero);
   this->addChild(menu);

    

    return
true;

    
}
MenuScene::MenuScene(){

}
MenuScene::~MenuScene(){

}
voidMenuScene ::adventureMode(){

    //切换到游戏界面

    CCTransitionCrossFade* fade =CCTransitionCrossFade::create(1,GameScene::scene());

    CCDirector::sharedDirector()->replaceScene(fade);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐