Cocos2d-x 捕鱼达人游戏学习教程(8)--添加PanelLayer数据面板层


代码下载 http://vdisk.weibo.com/s/BDn59yfnBV9dj

我们要在GameScene.h中添加如下代码:

 //数据面板层
    CC_SYNTHESIZE_RETAIN(PanelLayer*, _panelLayer, PaneLayer);
    
    //菜单页面相关的函数
    //暂定
    void pause();



之后我们要完成PanelLayer.h

#include "cocos2d.h"
USING_NS_CC;

class PanelLayer:public CCLayer
{
    
public:
    CREATE_FUNC(PanelLayer);
    bool init();
    void pause();
};

PanelLayer.cpp

#include "GameScene.h"
#include "StaticData.h"

bool PanelLayer::init()
{
    bool pRet = false;
    do {
        CC_BREAK_IF(!CCLayer::init());
        CCSize winSize = CCDirector::sharedDirector()->getWinSize();
        
        CCMenuItemSprite* pause = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName(STATIC_DATA_STRING("pause_normal")), CCSprite::createWithSpriteFrameName(STATIC_DATA_STRING("pause_selected")), this, menu_selector(PanelLayer::pause));
        
        CCMenu* menu = CCMenu::create(pause,NULL);
        this->addChild(menu);
        
        CCSize pauseSize = pause->getContentSize();
        menu->setPosition(ccp(winSize.width - pauseSize.width * 0.5, pauseSize.height * 0.5));
             
        pRet = true;
    } while (0);
    return pRet;
}

void PanelLayer::pause()
{
    //getParent()方法找到当前层的父类,当前层是加在GameScene中的因此
    GameScene* gameScene = (GameScene*)this->getParent();
    gameScene->pause();
    
}




GameScene.cpp的  bool GameScene ::init()方法中添加如下代码

 //创建显示数据层并加到场景中
        _panelLayer = PanelLayer::create();
        this->addChild(_panelLayer);



实现一个空的pause函数

void GameScene::pause()
{
    
}



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杜甲同学

感谢打赏,我会继续努力

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

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

打赏作者

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

抵扣说明:

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

余额充值