cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍

图层在cocos2d-x中很重要,我们可以在其中添加精灵,也可以将图层添加到场景中。这几个图层类功能各不相同,具体的看代码的注释。大家只需要替换掉helloworld中的init函数就可以运行了。

bool HelloWorld::init()
{
 bool bRet = false;
 do
 {
  CC_BREAK_IF(! <a href="http://www.jb51.net/" title="View all posts in CCLayer" class="tag_link">CCLayer</a>::init());

		//CCLayerColor继承自CCLayer,CCLayerColor有颜色,所以在create的时候需要传入参数,ccc4是一个宏定义,参数是r,g,b,o(o就理解为透明值吧255表示不透明)
		CCLayerColor * color = CCLayerColor::create(ccc4(255,0,0,255));
		//this->addChild(color);

		//CCLayerGradient继承自CCLayerColor,它有重载的三个create函数,传入俩个参数的时候从第一种颜色渐变到第二种颜色,方向是从上到下渐变
		CCLayerGradient * gradient = CCLayerGradient::create(ccc4(255,0,0,255),ccc4(0,255,0,255));
		this->addChild(gradient);

		//以下是CCLayerGradient的第三个重载函数,第三个参数表示的是渐变的方向,是一个向量,这里是ccp(1,0)当然就是从左往右渐变了,如果不理解,请参照坐标系统
		CCLayerGradient * gradientT = CCLayerGradient::create(ccc4(255,0,0,255),ccc4(0,255,0,255),ccp(1,0));
		//this->addChild(gradientT);

		//继承自CCLayer,可以包含多个图层,这些图层可以作为参数添加进来,最后以NULL结束代表图层添加完毕
		//它可以管理多个层,并实现不同层间的切换,但是同一时间只能有一个层是激活状态,其他都是不可见的。
		CCLayerMultiplex * multiplex = CCLayerMultiplex::create(color,gradient,gradientT,NULL);
		//运行这句话的时候请注释掉上边的addChild函数,否则一个图层被添加了俩次会出现错误的
		//this->addChild(multiplex);
		//默认情况下会显示第一个图层,使用如下的方法可以改变
		//multiplex->switchTo(0);

		//以下这句话会释放掉图层0,并且转换到图层1,但这个函数这里不能使用,因为会释放掉图层0,而图层0不是同过new出来的,这是cocos2d-x的内存管理机制
		//multiplex->switchToAndReleaseMe(1);

  bRet = true;
 } while (0);

 return bRet;
}
(0)

相关推荐

  • Cocos2d-x学习笔记之开发环境搭建

    要问如今什么比较火,当然是手机app了,随之智能机的普及,不断推出了越来越多的手机app,而游戏其实也是一种app.cocos2d-x一款免费游戏开发引擎,本着开源.跨平台的特色,成为了越来越多的手机游戏的开发引擎,所以让我们也来学习cocos2d-x这款游戏引擎吧.通过学习cocos2d-x,我们将了解更多关于游戏开发的知识,比如lua脚本.Box2d物理引擎.代码设计思想等等.总之,我们并不局限于学习cocos2d-x本身,而是通过学习cocos2d-x,掌握更多的游戏开发经验和技巧.现在就

  • Cocos2d-x学习笔记之Hello World!

    首先我们要为vs2010安装一个cocos2d-x的插件,有了这个插件,当我们打开vs2010,单击文件->新建->项目的时候,在已安装的模板一栏就能看到cocos2d-x了,方便了我们的编写.那么这个插件在什么地方呢,由于cocos2d-x的版本不同,在有的版本中是不包含这个插件的,我已经为大家准备好了,大家单击下载就可以了(下载cocos2d-x模板插件).下载好这个插件以后,双击InstallWizardForVS2010.js就可以了,如果你是vs2012,找对应的文件,双击.然后打开

  • Cocos2d-x学习笔记之Hello World源码分析

    首先我们来说一下游戏的原理,游戏类似于一场电影,早期的电影不就是靠一张张的图片放出来的吗?把场景人物什么的画在一幅幅图片上,然后从第一张图片开始播放就可以了.游戏更是如此,其实我们玩的游戏看到的画面都是美工做出来的,我们程序员要做的事情是组织这些图片,比如先弄个背景图片,然后在某一个坐标上放置一个人物的图片,我们写好程序,控制这个图片的移动路径,等机器运行的时候每秒都要刷新画面,我们就看到人物动了起来.而刷新页面的快慢就是我们所说的帧率,这个在程序中我们可以控制.整体的意思就是游戏不过是一些图片

  • cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍

    图层在cocos2d-x中很重要,我们可以在其中添加精灵,也可以将图层添加到场景中.这几个图层类功能各不相同,具体的看代码的注释.大家只需要替换掉helloworld中的init函数就可以运行了. bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! <a href="http://www.jb51.net/" title="View all posts in CCLayer" clas

  • Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍

    1. 添加一个新对象 前面介绍了映射到实体表的映射类User,如果我们想将其持久化(Persist),那么就需要将这个由User类建立的对象实例添加到我们先前创建的Session会话实例中: 复制代码 代码如下: ed_user = User('ed', 'Ed Jones', 'edspassword')session.add(ed_user) 上面两段代码执行完后对象持久化了么?你或许会兴冲冲的跑去数据库里查看,结果却失望而归--数据库里什么都没有.为什么呢?因为SQLAlchemy采取的是

  • MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎详解

    Mysql逻辑架构介绍总体概览 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离 . 这种架构可以根据业务的需求和实际需要选择合适的存储引擎. controller层: Connectors:连接层,c .java等连接mysql 业务逻辑处理成: Connection Pool:连接层 c3p0连接池等 Manager Service util:备份.容灾

  • 2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用

    一.pycharm介绍与安装 1.pycharm介绍 PyCharm是一种Python IDE,是Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制.其本身可以在线上更新和下载库,但本文未使用,使用的是anaconda进行管理 选择原因 开发项目,管理项目资源方便,可导入各种集成库进行开发,图像处理,界面设计,数据库管理等皆可融为一起,方便实际工程项目开发使用 2.安装教程 1.首先去Pycharm官网,或者直接输入网

  • JavaWeb学习笔记之Filter和Listener

    Filter:过滤器 过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能.一般用于完成通用的操作.如:登录验证.统一编码处理.敏感字符过滤... 过滤器相当于浏览器与 Web 资源之间的一道过滤网,在访问资源之前通过一系列的过滤器对请求进行修改.判断以及拦截等,也可以对响应进行修改.判断以及拦截等. 执行流程: 客户端发出请求,先经过过滤器, 如果过滤器放行,那么才能到servlet 如果有多个过滤器, 那么他们会按照注册的映射顺序 来 排队. 只要有一个过滤器, 不放行

  • .NET学习笔记之默认依赖注入

    介绍 不要依赖于具体的实现,应该依赖于抽象,高层模块不应该依赖于底层模块,二者应该依赖于抽象.简单的说就是为了更好的解耦.而控制反转(Ioc)就是这样的原则的其中一个实现思路, 这个思路的其中一种实现方式就是依赖注入(DI).ASP.NET Core内置有对依赖注入(DI)的支持,开发者只需要定义好接口后,在Startup.cs的ConfigureServices方法里使用对应生命周期的绑定方法即可. 只要是用new实例化的都是存在依赖的. 生命周期 AddSingleton→AddTransi

  • spring boot学习笔记之操作ActiveMQ指南

    目录 前言 ActiveMQ 介绍 队列(Queue) 广播(Topic) 同时支持队列(Queue)和广播(Topic) 总结 前言 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合.异步消息.流量削锋等问题,实现高性能.高可用.可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件. 目前在生产环境中使用较多的消息队列有 ActiveMQ.RabbitMQ.ZeroMQ.Kafka.MetaMQ.RocketMQ 等. 特性 异步性:将耗时的同步操作通过以发送消息的方式进行了异步化

  • SpringCloud学习笔记之Feign远程调用

    目录 前言 1.Feign替代RestTemplate 1.1 引入依赖 1.2 添加注释 1.3 编写Feign的客户端 1.4 测试 1.5 总结 2.自定义配置 2.1 配置文件方式 2.2 Java代码方式 3.Feign使用优化 4.最佳实践 4.1 继承方式 4.2 抽取方式 4.3 实现基于抽取的最佳实践 抽取 前言 为啥需要学Feign呢?我们先来回顾之前写的代码 先来看我们以前利用RestTemplate发起远程调用的代码: 这里就有几个问题: 代码可读性差,编程体验不统一 参

  • Go语言学习笔记之错误和异常详解

    目录 错误 异常 总结 错误 Go 语言通过内置的错误接口提供了非常简单的错误处理机制,Error 类型是一个接口类型. type error interface { Error() string } 可以在编码中通过实现 error 接口类型来生成错误信息. 函数通常在最后的返回值中返回错误信息. // 定义一个 DivideError 结构 type DivideError struct { dividee int divider int } // 实现 `error` 接口 func (d

  • Matplotlib学习笔记之plt.xticks()用法

    目录 前言 函数功能 函数语法 函数参数 例子 参考 总结 前言 在学习ML的过程中,遇到plt.xticks()的使用,在网上看别人写的教程,看得有点头晕,最后看官方文档和一个例子才明白了其用法.故写下这篇文章记录 函数功能 获取或设置当前x轴刻度位置和标签.若不传递任何参数,则返回当前刻度值,说白了就是把坐标轴改成自己要的样子. 函数语法 xticks(ticks=None, labels=None, **kwargs) 函数参数 ticks:x轴刻度位置的列表,若传入空列表,即不显示x轴

随机推荐