首先创建两个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. 深入理解ThreadLocal

    ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地 ...

  2. IntelliJ IDEA自动去掉行尾空格

    Settings→Editor→General 先选中Allow placement of caret after end of line 再修改Strip trailing spaces on Sa ...

  3. 战胜忧虑<2>——忙碌可以消除忧虑

    忙碌可以消除忧虑 当你的脑筋空出来时,也会有东西进去补充,是什么呢?通常都是你的感觉.为什么?因为忧虑.恐惧.憎恨.嫉妒.和羡慕等等情绪,都是由我们的思想所控制的,这种情绪都非常猛烈.会把我们思想中所 ...

  4. 减小Gcc编译程序的体积

    众所周知,Gcc编译的原始程序一般很大,其实有几种方法能大大减小目标代码的体积,一般有以下几种方法. 基本知识来源:http://www.mingw.org/wiki/Large_executable ...

  5. 黄聪:URL推广系统防作弊

    要实现的功能: 1.注册用户登录以后可以获取到个人私人唯一的一个推广链接,通过主动传播带来的注册用户全部计入该ID名下:2.其中与该ID相同cookies或者同IP的注册量全部作为作弊处理(也就是说不 ...

  6. MySQL类型转换

    mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西我们怎能放过? BINARY[(N)] CHAR[(N)] DATE DATETIME DECIMAL SIGNED [IN ...

  7. 深入分析Volatile的实现原理(转)

    引言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”.可见性的意思是当 ...

  8. xubuntu手记

    一. xfce下intelij快捷键冲突 window manager 快捷键 keyboard快捷键

  9. android的m、mm、mmm编译命令

    android的m.mm.mmm编译命令的使用 android源码目录下的build/envsetup.sh文件,描述编译的命令 - m:       Makes from the top of th ...

  10. Maven使用-- 编写POM

        就像Make的Makefile.Ant的build.xml一样,Maven项目的核心是pom.xml. POM(Project Object Model,项目对象模型)定义了项目的基本信息,用 ...