首先创建两个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,现在场景里面已经有两个层了,可以分别在这两个层里添加东西了。

cocos2dx一个场景添加多个层的更多相关文章

  1. cocos2d-x创建场景

    今天开始学习Cocos2d-x,使用的版本是2.1.4,这个版本比较老,对应的参考资料也比较齐全. 在mac/xcode环境下,代码是写在Classes文件夹下的,和iOS应用类似,程序从AppDel ...

  2. Cocos2d-X3.0 刨根问底(八)----- 场景(Scene)、层(Layer)相关源码分析

    本章节我们重点分析Cocos2d-x3.0与 场景.层相关的源码.这部分源码集中在 libcocos2d –> layers_scenes_transitions_nodes目录下面 我先发个截 ...

  3. cocos3.2中如何创建一个场景

    1.可以将一些比较通用的东西放到Common.h中,这是一个.h文件,必须手动添加,且保证在classes目录里 #ifndef __COMMON_H__ #define __COMMON_H__ # ...

  4. 【读书笔记】iOS-storyBoard-为一个按钮添加一个点击事件

    按照故事板的用语,应用中的一个界面屏幕被称作一个”场景(Scene)",以后添加额外的场景时,停靠区中将有另一个部分. 一,新建立一个工程,如图所示. 二,选中Main.storyboard ...

  5. Three.js入门篇(一)创建一个场景

    上一面讲述了向场景中添加物体对象.这一篇准备把每个功能点细细的讲述一遍,一方面是为了加深自己的理解.另一方面希望能够 帮助到有需要的人. 一.在学习WEBGL的时候,你应该先了解要创建一个WebGL程 ...

  6. Unity 2D游戏开发教程之为游戏场景添加多个地面

    Unity 2D游戏开发教程之为游戏场景添加多个地面 为游戏场景添加多个地面 显然,只有一个地面的游戏场景太小了,根本不够精灵四处活动的.那么,本节就来介绍一种简单的方法,可以为游戏场景添加多个地面. ...

  7. qt 如何给图元安装一个场景事件过滤器?

    void QGraphicsItem::installSceneEventFilter(QGraphicsItem *filterItem) class LabCrossEvent : public ...

  8. CSharpGL(35)用ViewPort实现类似3DMax那样的把一个场景渲染到4个视口

    CSharpGL(35)用ViewPort实现类似3DMax那样的把一个场景渲染到4个视口 开始 像下面这样的四个视口的功能是很常用的,所以我花了几天时间在CSharpGL中集成了这个功能. 在CSh ...

  9. 在Salesforce中对某一个Object添加 Validation Rule

    在Salesforce中可以对某一个Object添加相应的 Validation Rule 来进行一个全局的条件判断,比如满足什么样的条件的修改允许提交,不满足的要提示相应的错误信息. 要创建一个Va ...

随机推荐

  1. Activity和Service绑定

    Activity和Service绑定后,可以方便Activity随时调用对应的Service里面的方法 绑定代码如下 Activity类代码: <span style="font-si ...

  2. eclipse安装完成后配置tomcat server runtime evironment

    安装eclipse后创建web项目需要运行在tomcat服务器上,这里是tomcat的配置:(前提是电脑上已经安装了tomcat!)

  3. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

  4. 【linux】chmod命令详细用法

    功能说明: 变更文件或目录的权限 u:User,即文件或目录的拥有者. g:Group,即文件或目录的所属群组. o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围. a:Al ...

  5. 51nod1313 完美串

    一个N长的字符串S(N<=3000),只由'R','G','B'三种字符组成,即串中不存在除了这3个字符以外的其他字符.字符串S的子串substr(L,R)指S[L]S[L+1]S[L+2].. ...

  6. 【springmvc】之常用的注解

    原理这里不叙述,只讲怎么用 1. spring mvc中的@PathVariable是用来获得请求url中的动态参数的 @RequestMapping(value="/user/{userI ...

  7. 使用水晶报表更新后出现“值不能为 null。 参数名: inputString”

    简单记录一下: 如果更新完水晶报表相关页面可能在原来页面刷新会出现错误:"值不能为 null. 参数名: inputString",如图:

  8. php获取从百度搜索进入网站的关键词

    <?php function search_word_from() { $referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REF ...

  9. (C#) What is the difference between "const" and "static readonly" ?

    const int a must be initialized initialization must be at compile time readonly int a can use defaul ...

  10. PLSQL_性能优化系列13_Oracle Index Rebuild索引重建

    2014-10-04 Created By BaoXinjian