cocos2dx一个场景增添多个层

来源:互联网 发布:杭州行知小学学区房 编辑:程序博客网 时间:2024/06/05 03:14

给一个场景添加两个层吧。

首先创建两个layer,以下是头文件

#pragma once#include "cocos2d.h"USING_NS_CC;class BackgroundLayer : public cocos2d::CCLayer{public:virtual bool init();CREATE_FUNC(BackgroundLayer);};

#pragma once#include "cocos2d.h"USING_NS_CC;class FishLayer : public cocos2d::CCLayer{public:virtual bool init();CREATE_FUNC(FishLayer);};

现在去源文件实现一下:

#include "BackgroundLayer.h"bool BackgroundLayer::init(){CCSprite* bg = CCSprite::create("bg.png");bg->setPosition(ccp(visiblesize.width/2, visiblesize.height/2));addChild(bg);return true;}

#include "FishLayer.h"bool FishLayer::init(){CCSprite* bg = CCSprite::create("bgfish.png");bg->setPosition(ccp(visiblesize.width/2, visiblesize.height/2));addChild(bg);return true;}

ok,现在已经有了两个层了,建一个scene并添加他们:

#pragma once#include "cocos2d.h"#include "FishLayer.h"#include "BackgroundLayer.h"class GameScene : public cocos2d::CCScene{public: virtual bool init(); static CCScene* playGame(); };

去源文件添加啦:

#include "GameScene.h"CCScene* GameScene::playGame(){            GameScene* scene = new GameScene();scene->init();return scene;}bool GameScene::init(){BackgroundLayer* pLayer_bg = BackgroundLayer::create();FishLayer* pLayer_fish = FishLayer::create();addChild(pLayer_bg);addChild(pLayer_fish);return true;}

ok,现在场景里面已经有两个层了,可以分别在这两个层里添加东西了。
0 0