Cocos2d-x简单游戏<捕鱼达人>代码实现|第三部分:菜单类

这个简单的捕鱼游戏Demo只是完成了简单的:

 1.场景切换、数据加载、武器等级更换<大炮的升级>

 2.鱼的随机游动、大炮发射子弹、撒网、捕鱼

 3.子弹、鱼、网的碰撞检测等;

 4.场景及背景音乐的定时更换,碰撞时得音效;

 

  仅供参考、入门练习用例;

 

 第一部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第一部分:鱼类

 第二部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第二部分:子弹、渔网、大炮类

 第三部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第三部分:菜单类

 第四部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第四部分:加载场景类

 第五部分:Cocos2d-x简单游戏<捕鱼达人>代码实现|第五部分:游戏类




#ifndef __shows__SystemScene__

#define __shows__SystemScene__


#include <iostream>

#include "Header.h"


class SystemScene:publicCCLayer {

private:

//   void startGame();

//    void setGame();

    //声明点击进入单人游戏的事件

   void clickSingle(CCObject *sender);

   void clickUpdate(CCObject *sender);

   void clickMutil(CCObject *sender);

    

public:

    

    SystemScene();

    ~SystemScene();

    

   virtual bool init();

   static CCScene* scene();

    CREATE_FUNC(SystemScene);

    

};


#endif /* defined(__shows__SystemScene__) */




#include "SystemScene.h"

#include "GameScene.h"

#include "LoadingScene.h"


CCScene * SystemScene::scene(){


   CCScene *scene;

   do {

        scene =CCScene::create();

       CC_BREAK_IF(!scene);

        

       SystemScene *layer = SystemScene::create();

       CC_BREAK_IF(!layer);

        

        scene->addChild(layer);

    }while (0);

    

   return scene;


}


SystemScene ::SystemScene(){


}

SystemScene::~SystemScene(){



}

bool SystemScene::init(){


   if (!CCLayer::init()) {

        return false;

    }

    

   CCSize winSize = WINSIZE_BYDIRECT;

    

    //放置图片

   CCSprite *bgSprite = CCSprite::create("loading2.png");

    bgSprite->setScaleX(1.2f);

    bgSprite->setPosition(CCPoint(winSize.width/2, winSize.height/2));//设置图片位置-->图片的中心点位置

   this->addChild(bgSprite);//在场景中加载图片子类

   //菜单

    //clickSingle

    CCMenuItemImage *oneImage =CCMenuItemImage::create("one.png","one_select.png",this,menu_selector(SystemScene::clickSingle));

    oneImage->setPosition(CCPointMake(-270, -130));

    CCMenuItemImage *multiImage =CCMenuItemImage::create("mutil.png","mutil_select.png",this,menu_selector(SystemScene::clickMutil));

    multiImage->setPosition(CCPointMake(285, -120));

    CCMenuItemImage *updateImage =CCMenuItemImage::create("update_call.png","update_call.png",this,menu_selector(SystemScene::clickUpdate));

    updateImage->setScale(0.7f);

    updateImage->setPosition(CCPointMake(80, -230));

   CCMenu *menu = CCMenu ::create(oneImage,multiImage,updateImage,NULL);

   this->addChild(menu);


    

    //添加菜单

//    CCMenuItemFont *start = CCMenuItemFont::create("开始游戏", this,menu_selector(SystemScene::startGame));

//    CCMenuItemFont *setting = CCMenuItemFont::create("设置游戏", this,menu_selector(SystemScene::setGame));

//

//    CCMenu *menus = CCMenu::create(start,setting,NULL);

//    menus->alignItemsVertically();//排列方式

//    menus->alignItemsVerticallyWithPadding(18.0f);

//    this->addChild(menus);


    return true;

}

voidSystemScene::clickMutil(CCObject *sender){

    

    CCLog("%s",__FUNCTION__);


}

voidSystemScene::clickSingle(CCObject *sender){

    

    //点击该方法是会切换到 LoadingLayer

    CCScene *sin =LoadingScene::scene();

    //使用动画切换场景--2s钟后切换到新的LoadingLayer场景

    CCTransitionSplitRows *trans =CCTransitionSplitRows::create(2, sin);

    

    //调用该方法意味着销毁当前的Layer 切换到下一个场景

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



}

voidSystemScene::clickUpdate(CCObject *sender){


    CCLog("%s",__FUNCTION__);

    

}




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GFanStudio-LeeSir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值