游戏过程中,偶尔需要截图和保存图片,但是Cocos2d-x本身对这方面的支持比较少,所以只能用比较特殊的方法来保存。今天我们来讲一下Cocos2d-x截图保存。RenderTextureRenderTexture是一个通用渲染对象,可以通过构建一个RenderTexture对象,进而把要渲染的东西填...
上一节我们主要了解了MVC框架,本文就来介绍下基本的游戏程序框架的搭建,大神们如果可以的话,希望多多提供一些经验,让我们可以多学一些知识,希望可以多给我一些批评指正,我将感激不尽。本篇所用的Cocos2d-x版本为:Cocos2d-x 3.2Cocos2d-x项目的游戏框架搭建游戏与应用项目其实差别...
面向对象不是针对某一门语言,而是一种思想,在面向过程的语言也可以使用面向对象的思想来进行编程。在Lua中,并没有面向对象的概念存在,没有类的定义和子类的定义,但同样在Lua中可以利用面向对象的思想来实现面向对象的类继承。一、复制表的方式面向对象–Lua中的面向对象–[[复制表方式面向对象参数为一张表...
range函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。range示例:>>> range(5)[0, 1, 2, 3, 4]>>> range(1,5)[1, 2, 3...
上一节,我们主要的了解了Cocos2d-x都有哪些小伙伴,我想熟练并已经精通的同学们,已经开始了测试,或者已经拿它们做项目了,那么请初学的小伙伴继续努力的去了解它们、掌握它们。而已经有项目或者正在写项目的同学,请听听我对Cocos2d-x的进一步了解。Cocos2d-x项目的MVC框架与其说Coco...
我从一开始接触的Cocos2d-x 1.04到现在Cocos2d-x 3.3Final我都没有能很细致的去分析其核心底层,所以初学的同学,我建议先别去触碰那块,会让你晕很久,所以就由简入深的慢慢去学吧,那么我就简单的讲讲我所熟悉的Cocos2d-x HelloWorld。本篇所用的Cocos2d-x...
与2.x相比,节点类Node的属性和功能做了大幅度的修改与增加。【Node】Node类是绝大部分类的父类(并不是所有的类,例如Director类是直接继承Ref类的),如Scene、Layer、Sprite以及精灵集合SpriteBatchNode等等等等的父类都是Node。Node类包含了一些基本...
Cocos2d-x中的引用计数(Reference Count)和自动释放池(AutoReleasePool)引用计数引用计数是c/c++项目中一种古老的内存管理方式。当我8年前在研究一款名叫TCPMP的开源项目的时候,引用计数就已经有了。iOS SDK把这项计数封装到了NSAutoreleaseP...
简介纹理缓存是将纹理缓存起来方便之后的绘制工作。每一个缓存的图像的大小,颜色和区域范围都是可以被修改的。这些信息都是存储在内存中的,不用在每一次绘制的时候都发送给GPU。CCTextureCacheCocos2d通过调用CCTextureCache或者CCSpriteFrameCache来缓存精灵的...
cocos2d-x在2.x版本里就是用toLua++和.pkg文件这么把自己注册进Lua环境里的。不过这种方法明显笨拙,既要写真正做事的.pkg文件,也要写桥接的.pkg文件和.h文件,工作量又大又枯燥。所以从cocos2d-x 3.x开始,用bindings-generator脚本代替了toLua...
内存优化水平在此将ccos2d-x内存优化分为三个等级。每个等级都有不同的说明,策略也有点不一样。客户端等级这是最重要的的优化等级。因为我们要在Cocos2d-x引擎顶层编译游戏,引擎自身会提供一些优化选项。 在这个等级我们可以进行大部分优化。简而言之,我们可以优化纹理、音频、字体及粒子的内存使用。...
今天我们对剩下的问题进行解答,如有这内容之外的问题我们一七论,ocos2d-x初学者解惑回调特性有什么作用?答:可以直接在编辑器里边指定某个控件的事件的处理函数。不再需要一个一个去get控件啦。也不再需要因为修改了控件名或者其他属性后,就得去改程序啦。这些,都可以交给策划了。对于回调特性的使用方法可...
上一部分我们解答了一些问题,这部分我们继续解答:cocos2d-x初学者解惑问:发布到IDE 、VS、XCODE选项灰色答:如果创建项目时没有选择使用Cocos2d-x那么这些选项都会是灰色的;如果选择了C++语言,或没有勾选使用IDE,则IDE按钮不可用;如果选择了其他语言没有勾选生成源代码,则V...
对于初学者,可能会有很多疑问,这里我将这些问题做了整理,希望能帮到更多的人。cocos2d-x初学者解惑问:Cocos是什么,可以做什么,从哪里下载?Cocos是由触控科技推出的游戏开发一站式解决方案,包含了从新建立项、游戏制作、到打包上线的全套流程。开发者可以通过cocos快速生成代码、编辑资源和...
新事件分发机制:在2.x 版本事件处理时,将要触发的事件交给代理(delegate)处理,再通过实现代理里面的onTouchBegan等方法接收事件,最后完成事件的响应。而在新的事件分发机制中,只需通过创建一个事件监听器-用来实现各种触发后的逻辑,然后添加到事件分发器_eventDispatcher...
前言:众所周知,现在MVC非常流行。现在只要随便搜索一下,哪里都是MVC的影子。刚开始在j2ee里面,然后是rails,后面居然.net也出来了,ios更不用说,哪里都是mvc,而且强制你必须使用mvc。但是,我们写的那些程序,真正完全符合mvc吗?呵呵,这个不好说,看个人理解程度而异。mvc实在是...
lua语言中闭包lua语言有如下两个特点:1.lua中的函数可以被存放在变量、表中,也可以作为函数的参数,还可以作为函数的返回值,如:func = function()print(“Hello”);end等价于function func()print(“Hello”);end这两种写法都是函数fun...
在做卡牌游戏的项目中,遇到了动画裁剪的问题。假如动画是一个圆形动画,在page1的页面中位置靠右,在page2中很可能会看到这个动画的另一半此时,就需要做动画做裁剪,在工程中有一个setScissorRect函数,可以对动画进行裁剪。void play::PCBaseNode::setScissor...
我今天要讲的是Cocos2d-x中相机的使用,在Cocos2d-x 3.3版本中加入了相机这个类,这个类在3D游戏中是必不可少的,因为3D游戏是一个立体的世界,在3D游戏中的摄像机就相当于是我们的眼睛,通过它我们可以观察整个的游戏世界。 上图就是在3D游戏中使用相机的原理,当然这是一个透视投影的相机...
跨平台 fbx-conv 批量转换脚本, 让你远离模型转换痛苦,一键搞定所有模型!效果刚刚地!使用说明:1.把附件中的python脚本拷贝到与fbx-conv可执行文件同级目录下。2.启动命令行进入到fbx-conv-oye.py所在的目录下。3.执行fbx-conv-oye.py脚本,后面可以带 ...