09 2015 档案
cocos代码研究(1)Node学习笔记
摘要:理论部分Node类继承自Ref类,是cocos框架中基础底层的一个封装类,与画面渲染相关的类一般都是继承自该类,例如Scene,Layer,Sprite,Sprite3D,Label,SpriteBatchNode,MenuItem,ClippingNode,DrawNode,ParticleBat...
阅读全文
cocos代码研究(2)Label学习笔记
摘要:理论部分Label类继承自Node类,中文翻译文字与字体,通常在应用开发中为模块作为提示和描述的作用,主要有3中不同的创建方式。1.通过ttf字体包创建,通过指定本地已有的ttf格式的字体文件,创建Label。优点:这种字体格式一般就是网上字体库下载下来的格式,往往对一种语言的文字支持比较全面,可以...
阅读全文
cocos代码研究(2)Layer学习笔记
摘要:auto layer = Layer::create(); /*************华丽分割线*************/ auto layer = LayerColor::create(Color4B(255, 0, 0, 255), 150, 150); /****...
阅读全文
cocos代码研究(1)sprite学习笔记
摘要:各种方法创建Sprite和Animate //图片创建法 参数一:图片资源路径 参数二:Rect选区 auto sprite = Sprite::create("Images/grossini_dance_atlas.png", Rect(x, y, 85, 121)); addC...
阅读全文
cocos进阶教程(3)Cocos2d-x多场景切换生命周期
摘要:在多个场景切换时候,场景的生命周期会更加复杂。这一节我们介绍一下场景切换生命周期。多个场景切换时候分为几种情况:情况1,使用pushScene函数从实现HelloWorld场景进入Setting场景。情况2,使用replaceScene函数实现从HelloWorld场景进入Setting场景。情况3...
阅读全文
CocoStudio基础教程(6)使用CocoStudio编辑帧事件并关联到程序
摘要:1、概述 帧事件也是新加入的功能。这篇中我们将看到如何使用它。我们将上篇中制作的动画稍加修改。2、用途与原理 首先介绍一下帧事件。正如其名:一个与帧相关联的事件。 为什么要这么做呢?首先没人想做一大堆碎动画,然后一点一点拼着播放吧。另外,有时候流程与事件控制最好关联到帧。比如一个攻击动作,有出刀...
阅读全文
CocoStudio基础教程(5)使用CocoStudio场景编辑器关联组件
摘要:1、概述 我们有了UI交互、有了动画人物、有了物理模拟,还差最后一步——将这些元素融合起来。这就要用到cocoStudio中的场景编辑器了。这次我们要将先前我们做过的所有东西都放到一个场景中去。这项工程比看起来是要简单。2、创建场景 运行CocoStudio,选择SceneEditor。进入后创...
阅读全文
cocos基础教程(13)使用Physicals代替Box2D和chipmunk
摘要:1、概述 游戏中模拟真实的世界是个比较麻烦的事情,通常这种事情都是交给物理引擎来做。首屈一指的是Box2D了,它几乎能模拟所有的物理效果。而chipmunk则是个更轻量的引擎,能够满足简单的物理需求,比如最常用的的碰撞检测等。这些引擎在使用的过程中有个令人讨厌的地方,它们参数太多了。通常为了初始化...
阅读全文
CocoStudio基础教程(4)骨骼动画的动态换肤
摘要:1、概述 游戏中人物的状态会发生改变,而这种改变通常要通过局部的变化来表现出来。比如获得一件装备后人物形象的改变,或者战斗中武器、防具的损坏等。这些变化的实现就要通过动态换肤来实现。2、运行到程序 运行脚本,创建一个新项目。将导出文件复制到Resource中。 修改init的代码:bool H...
阅读全文
CocoStudio基础教程(3)在程序中处理cocoStudio导出动画
摘要:1、概述 使用cocoStudio可以方便的制作动画,接下来的工作就是在我们的程序中使用制作的动画。这篇中,我将使用程序将两个动画连接起来2、关联到项目 运行脚本创建我们的项目,将导出的动画、UI放到Resource文件夹中,然后重写init方法。bool HelloWorld::init() ...
阅读全文
CocoStudio基础教程(2)关联程序逻辑与cocoStudio导出文件
摘要:1、概述 上篇说到将CocoStudio的导出文件在程序中运行出来,但是并没有用户交互,即点击响应,程序的逻辑判断也都没有。这篇中我们把它们加进去,这样就可以算一个完整的程序了。2、界面编辑大部分界面编辑都在CocoStudio中完成,现在我们要做的工作是将所需要交互控件的Tag记下来,这样我们可...
阅读全文
CocoStudio基础教程(1)创建UI并载入到程序中
摘要:1、概述 CocoStudio的使用无疑是cocos2d-x 3.0的重要组成部分,接下来我们用它来创建一组UI,并将其读入到程序中显示出来。先上效果图:2、导出 在导出之前,最好先创建一个新的工程。运行我们的脚本文件,给新工程起名为:HelloStudio。编译运行,保证它没问题。 回到Co...
阅读全文
cocos基础教程(12)点击交互的三种处理
摘要:1、概述游戏也好,程序也好,只有能与用户交互才有意义。手机上的交互大致可以分为两部分:点击和输入。其中点击更为重要,几乎是游戏中全部的交互。在Cocos2d-x 3.0中,更改了dispatch机制。同时加入了两种新的交互形式:listener 和touchEvent回调。加上先前版本中的点击函数回...
阅读全文
cocos基础教程(9)声音和音效
摘要:使用音效引擎我们可以使用Cocos2d-x自带的CocosDension库来使用声音引擎。CocosDesion实现了简单易用的SimpleAudioEngine类,为了使用它,我们只需引入他的头文件即可:#include "SimpleAudioEngine.h"支持平台与格式CocosDesio...
阅读全文
cocos进阶教程(2)多分辨率支持策略和原理
摘要:cocos2d-x3.0API常用接口Director::getInstance()->getOpenGLView()->setDesignResolutionSize() //设计分辨率大小及模式Director::getInstance()->setContentScaleFactor() //...
阅读全文
cocos基础教程(10)纹理缓存技术
摘要:Cocos2d通过调用CCTextureCache或者CCSpriteFrameCache来缓存精灵的纹理。当这个精灵调用CCTextureCache 或 CCSpriteFrameCache的方法的时候,cocos2dx将使用纹理缓存来创建一个CCSprite。所以你可以预先将纹理加载到缓存中,这...
阅读全文
cocos基础教程(11)事件分发机制
摘要:cocos3.0的事件分发机制:创建一个事件监听器-用来实现各种触发后的逻辑。事件监听器添加到事件分发器_eventDispatcher,所有事件监听器有这个分发器统一管理。事件监听器有以下几种:触摸事件 (EventListenerTouch)键盘响应事件 (EventListenerKeyboa...
阅读全文
cocos基础教程(8)粒子效果
摘要:简介粒子系统是指计算机图形学中模拟特定现象的技术,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,为我们实现一些真实自然而又带有随机性的特效(如爆炸、烟花、水流)提供了方便。粒子属性一个强大的粒子系统它必然具备了多种多样的属性,这样才能配置出多样的粒子。下面就来看看粒子系统的主要属性吧。主...
阅读全文
cocos基础教程(7)动作与动画
摘要:动作类(Action)动作类(Action)是所有动作的基类,它创建的一个对象代表一个动作。动作作用于Node,因此每个动作都需要由Node对象执行。动作类(Action)作为基类,实际上是一个接口,动作类的大多数实现类都派生于有限时间动作类(FiniteTimeAction)。在实际开发中我们通常...
阅读全文
cocos基础教程(6)坐标与锚点讲解
摘要:坐标系详解Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系。原点为屏幕左下角,x向右,y向上。世界坐标系(World Coordinate) VS 本地坐标系(Node Local)世界坐标系也叫做绝对坐标系,本地坐标系也叫相对坐标系,是和节点相关联的坐标系。每个节点都有独立...
阅读全文
cocos基础教程(5)数据结构介绍之cocos2d::Value
摘要:1.概述cocos2d::Valie 是一个包含了很多原生类型(int,float,double,bool,unsigned char,char* 和 std::string)外加 std::vector, std::unordered_map 和 std::unordered_map 的类。你可以...
阅读全文
cocos基础教程(5)数据结构介绍之cocos2d::Map<K,V>
摘要:1.概述cocos2d::Map 是一个内部使用了std::unordered_map的关联容器模版。std::unordered_map 是一个存储了由key-value键值对组合成构成的关联性容器,允许基于键对单个元素进行快速检索。2.模版参数K - key value的类型.map中元素都由它...
阅读全文
cocos基础教程(5)数据结构介绍之cocos2d::Vector
摘要:cocos2d::Vectorcocos2d::Vector是一个封装好的能动态增长顺序访问的容器。cocos2d::Vector中的元素是按序存取的,它的低层实现数据结构是标准模版库中的标准顺序容器std::vector。T- 元素类型T的类型必须是继承自cocos2d::Object类型的指针。...
阅读全文
cocos基础教程(4)基础概念介绍
摘要:在Cocos2d-x-3.x引擎中,采用节点树形结构来管理游戏对象,一个游戏可以划分为不同的场景,一个场景又可以分为不同的层,一个层又可以拥有任意个可见的游戏节点(即对象,游戏中基本上所有的类都派生于节点类Node)。可以执行Action来修改游戏节点的属性,使其移动、旋转、放大、缩小等等。每一个时...
阅读全文
cocos进阶教程(1)Lua调用自定义C++类和函数的最佳实践
摘要:第一层:纯C环境下,把C函数注册进Lua环境a.lua 文件print(foo(99))a.c 文件#include #include #include int foo(lua_State *L){ int n = lua_tonumber(L, 1); lua_pushnumber(L, n ...
阅读全文
cocos基础教程(3)cocos3.x版本目录结构介绍
摘要:简介cocos2d-x-3.x版本进行了很多优化,比如:将TTF字体用Atlas缓存,节点重排序官方声称提升了10倍速度,查找、移除节点方面也提高了10%,拆分渲染层到独立的线程运行;另外,coco2d-x3.x版本还采用C++标准,大量使用std::vector, std::function,st...
阅读全文
cocos基础教程(2)Window环境下搭建(补充)
摘要:一、环境搭建1.JDK、Eclipse与SDK我用的JDK是1.7Eclipse用的是Luna版的这些之前都已经设好了,相关下载自己网上找吧2. 下载最新的Cocos2d-x,我下的是3.5官方下载页面3.CDThttp://www.eclipse.org/cdt/downloads.php我的做法...
阅读全文
cocos基础教程(2)Window环境下搭建
摘要:第一步:开始安装VS2012第二步:下载Cocos2d-x 3.4源码配置环境变量COCOS_CONTROL = E:\cocos2d-x-3.4\tools\cocos2d-console\bin然后添加到path里 %COCOS_CONTROL %COCOS_CONTROL 这个可以随便起名,没...
阅读全文
cocos基础教程(1)Mac环境下搭建
摘要:下面主要介绍cocos2d-x环境的设置以及android的环境搭建1、下载cocos2d-x 3.0正式版http://www.cocos2d-x.org/download2、下载android的sdk以及ndkhttp://developer.android.com/sdk/index.html...
阅读全文