cocos2d-x
文章平均质量分 76
fnxiao
这个作者很懒,什么都没留下…
展开
-
ocos2d-x--SEL_CallFuncN,SEL_CallFuncO等的区别
ocos2d-x中有大量的回调函数的应用,主要有以下几类,看下CCObject.h中的定义typedef void (CCObject::*SEL_SCHEDULE)(float);// 用来调updatetypedef void (CCObject::*SEL_CallFunc)();// 用来自定义无参回调typedef void (CCObject转载 2015-02-03 15:25:20 · 985 阅读 · 0 评论 -
Cocos2dx - -播放声音和音效的实现
Cocos2d-x提供了对声音和音效的支持,能够十分方便地实现音乐与音效的播放、暂停和循环功能。使用音效引擎我们可以使用Cocos2d-x自带的CocosDension库来使用声音引擎。CocosDesion实现了简单易用的SimpleAudioEngine类,为了使用它,我们只需引入他的头文件即可:1#include "Si原创 2014-12-24 13:33:55 · 3389 阅读 · 0 评论 -
cocos2d-x-- fnt 图字原理
首先要介绍一下,图字是怎么来的?其实这个很早很早了,记得80后在95年开始玩DOS下的仙剑奇侠传的时候,那些令人难忘的中文对话吧!DOS下做游戏,使用的是C语言,不要说写字了,很多复杂的操作甚至涉及驱动。那时候绘图就是利用将图片中的像素取出来后绘制在屏幕上,所以处理游戏中的中文,就只有把这些文字的像素预先写到BMP或二进制文件中,然后读取出来再设置屏幕像素以实现。后来进入DDRAW的时代,可以使用转载 2015-01-16 10:41:49 · 1724 阅读 · 0 评论 -
Cocos2d-x-- init()和onEnter()方法的区别
init()和onEnter()这俩个方法都是CCNode的方法。其区别如下: 1.其被调用的顺序是先init(),后onEnter()。 2.init()在类的初始化时只会调用一次。 3.onEnter在该类被载入场景的时候被调用,可能会发生多次。 4.CCLayer* cclayer = new MyLayer();这种情转载 2015-01-16 15:15:27 · 656 阅读 · 0 评论 -
Cocos2d-x 3.0坐标系详解
1原创 2014-11-10 18:30:07 · 1124 阅读 · 0 评论 -
cocos2dx进阶学习之CCEGLView
继承关系CCEGLView-> CCEGLViewProtocolCCEGLView是窗口,在不同平台上有不同的实现,而CCEGLViewProtocol是CCEGLView定义的接口,所以学习CCEGLView,主要是要学习CCEGLViewProtocol中定义的接口。类主要成员CCEGLView();构造函数,初始化所有成员变量。转载 2014-12-08 16:15:51 · 1137 阅读 · 0 评论 -
Cocos2dx--二进制文件的读写
cocos2d-x里面的二进制文件读取的方法是有的,作者对方法封装了下,将读取的路径设置到了writablePath路径上,这样方便读取自己存储的二进制文件。作者在cocos2d-x中没有找到二进制文件输出的方法,于是自己写了一个。下面就是两个方法的源码实现:二进制文件的读取:unsigned char* wkFileUtils::getFileByName(string pFileN原创 2014-12-25 10:48:35 · 1452 阅读 · 0 评论 -
如何使用HttpClient
介绍HttpClient是HTTP客户端的接口。HttpClient封装了各种对象,处理cookies,身份认证,连接管理等。概念HttpClient的使用一般包含下面6个步骤:1.创建 HttpRequest的实例;2.设置某种连接方法的类型(GET、POST等),这里通过setUrl传入待连接的地址;3.设置响应回调函数,读取response;4.添原创 2015-01-30 15:17:14 · 1423 阅读 · 0 评论 -
Cocos2d-x 启动过程详解:渲染
本文主要讲解Cocos2d-x的整体启动过程:Cocos2d-x 在各个平台的实现代码是一样的,只要针对不同平台做相应的配置就可以了。一、启动前奏现在来看一下在iOS平台下的相关结构:打开源代码自带工程,你会看到一个main文件,这里main里面有一个main函数,这是程序的入口函数。在这里它会加载AppController,进入这个类,这里有iOS转载 2014-12-15 09:17:34 · 999 阅读 · 0 评论 -
cocos2d-x的两种触摸事件
在Cocos2d-x中,CCTouchDispatcher类负责触摸事件的分发处理,其包含两种触摸事件standardDelegate(标准触摸事件)、targetedDelegate(目标触摸事件)当调用setTouchEnabled(true)设置当前Layer接收触摸事件的时候,默认是开启标准触摸事件。void CCLayer::setTouchEnabled(bool原创 2014-12-29 10:59:06 · 934 阅读 · 0 评论 -
cocos2d-x-- CCCallFunc系列函数的应用
CCCallFunc作为一个CCAction可以用来调用自己的函数。其用处还是很多的。1、用一个不带参数的函数给一个action创建回调功能。使用CCCallFunc[cpp] view plaincopyCCFiniteTimeAction* actions= CCSequence::actions(action,原创 2014-12-31 15:53:34 · 916 阅读 · 0 评论 -
Cocos2d-x --Action (动作)
Action有三个子类:1、FiniteTimeAction类:所有在有限时间能够完成的动作(action)的基类。2、Follow类:一种“跟随”某一个节点的动作。3、Speed类:改变一个action的运行速度,使他持续更长时间 (speed>1)或者更短的时间(speed原创 2014-11-21 17:56:47 · 696 阅读 · 0 评论 -
cocos2d-x -- CCRemoveSelf
在DEMO TestCPP的ActionsTest.cpp中,ActionRemoveSelf类示例中说明了这个动作的用法,非常简单: CCFiniteTimeAction* action = CCSequence::create( CCMoveBy::create( 2, ccp(240,0)), CCRotateBy::create( 2, 540),原创 2015-01-19 11:32:05 · 1664 阅读 · 0 评论 -
HttpClient session
session概述session机制session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为session id,如果已包含一个session id则说明以前已经为此客户端创建过sessio转载 2015-01-30 16:13:37 · 2127 阅读 · 0 评论 -
coco2d-x 下载网络图片
#include "HttpRequest.h"#include "HttpClient.h"USING_NS_CC;USING_NS_CC_EXT;using namespace std;class StartScene : public cocos2d::CCLayer{public: bool init(); void onEnter(); void原创 2015-01-30 14:41:26 · 978 阅读 · 0 评论 -
cocos2d-x-- spritesheet plist文件格式解析
plist文件是游戏开发中将一些小图合并成一张大图的时候生成的配置文件,从大图中获取小图需要对应plist文件中的信息,。合图后的大图总体尺寸面积一般要小于原来的小图面积之和,是因为合图中会去掉小图周围的透明像素(当然,有些需求是不能去掉这些透明部分的,比如某些特殊的三宫格和九宫格需求,举个例子,一些背景框要求中间为空)。要还原出原图,必须要记录足够的信息。原创 2014-12-17 22:46:10 · 2275 阅读 · 0 评论 -
Cocox2d-x 2.2.5 中 程序启动流程 及 Size 的设置
首先从main.m开始,int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, @"AppController"); [pool原创 2015-01-07 11:42:00 · 1199 阅读 · 0 评论 -
Cocos2d -- 多分辨率的支持
分辨率太多适配很难,但是Cocos2d-x提供了CCEGLView::setDesignResolutionSize() 和 CCDirector::setContentScaleFactor()来帮助你使用最小的工作量来让你的的游戏运行在不同分辨率下。从Retina 到 design resolution在Cocos2d-x 2.0.4之前,有Retina的概念原创 2014-12-03 16:54:59 · 801 阅读 · 0 评论 -
Cocos2d-x -- 架构和目录结构
1.1 架构原创 2014-11-06 13:57:20 · 1001 阅读 · 0 评论 -
cocos2d-x--CCProgressTimer
在cocos2d中同样提供了很多表现图片和精灵的方式,上一篇当中提到的切换场景的方式之一是顺或逆时针切入的方法,在图片上也可以使用,test里有一个例子介绍CCProgressTimer可以实现一些图片的特效效果,这样的效果可以在载入的时候作为载入动画原创 2014-11-05 17:58:13 · 631 阅读 · 0 评论 -
cocos2d-x 之 场景间切换效果
1.使用方法:正常的无过渡场景的如果尚未建立场景(即游戏中的第一个场景),就是用pDirector->runWithScene(pScene);即可以使用相应场景,如果是替换场景,则使用CCDirector::sharedDirector()->replaceScene(this);替换相应的场景即可,而如果要使用场景间的切换效果来切换场景,则需要使用相应的切换方法即transitionW原创 2014-11-05 17:40:35 · 1680 阅读 · 0 评论 -
Cocco2D问答
几乎所有游戏开发中的组成元素?答: 场景 层 精灵 导演 . 这4个元素的复杂程度决定了游戏的复杂程度.原创 2014-11-19 11:11:02 · 534 阅读 · 0 评论 -
cocos2d-x 基础概念介绍--导演 场景 层 精灵
1原创 2014-11-06 11:39:30 · 1856 阅读 · 0 评论 -
Cocos2d-x 序列帧动画
序列帧动画简介Cocos2d-x中,动画的具体内容是依靠精灵显示出来的,为了显示动态图片,我们需要不停切换精灵显示的内容,通过把静态的精灵变为动画播放器从而实现动画效果。动画由帧组成,每一帧都是一个纹理,我们可以使用一个纹理序列来创建动画。我们使用Animation类描述一个动画,而精灵显示动画的动作则是一个Animate对象。动画动作Animate是精灵显示动原创 2014-12-03 10:20:23 · 982 阅读 · 0 评论 -
cocos2d-x---ttf字体 和 fnt字体 的显示
一.添加字体。在info.plist上面添加Fonts provided by application 如下图,然后下面添加对应的字体: 二.代码中应用 CCLabelTTF* pLabel = CCLabelTTF::create("唯女子与小人难养也", "QXyingbixing", 44); pLabel->setPosit原创 2015-01-28 14:49:14 · 4493 阅读 · 1 评论 -
Cocos2d-x -- 常用工具下载
1.GlyphDesigner不管是Cocos2d-x还是其他的引擎或程序中,我们通常需要用到中文或显示一些好看华丽的文字效果。这利用位图字体可以实现,Glyph Designer是一款Mac环境下的制作BMFont位图字体的工具(Windows下可使用Hiero和BMFont)。Cocos2d-x中,支持位图字体创建的类是LabelBMFont类,LabelBMFont是一种纹理地图原创 2015-01-28 13:15:36 · 870 阅读 · 0 评论 -
Cocos2d-x --内存优化二之图片资源管理方案
2D游戏中最占内存的就是图片资源了,在实际项目中发现图片使用不同的纹理格式带来的性能差异巨大,下表是我在IOS平台一个小Demo中的测试结果,该Demo的原始内存占用是7M,测试方法是一次性加载5张2048*2048的图片,使用TexturePacker工具生成图片,内存统计使用Instrument工具,加载时间统计用-X引擎提供的CCTime类,单位是微秒。图片格式原创 2014-12-05 18:09:31 · 1876 阅读 · 0 评论 -
cocos2d-x --内存优化之使用16位纹理/NPOT
图片文件大小和纹理内存占用是两码事。假设他们是帐篷。图片文件就相当于帐篷被装在行李箱。但是,如果你想要使用帐篷的话,它必须被撑起来,被“膨胀”。图片文件和纹理的关系与此类似。图片文件大多是压缩过的,它们被使用的话必须先解压缩,然后才能会GPU所处理,变成我们熟知的纹理。一个2048*2048的png图片,采用32位颜色深度编码,那么它在磁盘上占用空间只有2MB。但是,如果变成纹理,它将消耗原创 2014-12-05 17:53:05 · 3871 阅读 · 0 评论 -
iOS使用Cocos2d-x开发游戏之一:新建一个游戏工程
1.cocos2d-x 2.2.5目录结构如上图找到文件create_project.py文件,在终端切换到project-creator目录下,输入./create_project.py -project MyGame -package com.MyCompany.MyGame -language cpp,执行,终端会出现如下的执行执行过程:可以看出,新建的工程原创 2014-12-21 16:11:22 · 961 阅读 · 0 评论 -
Cocos2d-x 如何优化内存使用
内存优化原理为优化应用内存使用,开发人员首先应该知道什么最耗应用内存,答案就是纹理! 纹理几乎会占据90%应用内存。所以尽量最小化应用的纹理内存使用,否则应用很有可能会因为低内存而崩溃。 本文介绍Cocos2d-x游戏通用的两条内存优化原理指导。认识瓶颈寻找方案可用一些代码获取游戏内存使用的其他信息,如下所示:1原创 2014-12-05 16:35:57 · 713 阅读 · 0 评论 -
Cocos2d-x 各平台硬件所允许的最大纹理尺寸
这几天碰到一个在iphone4上显示图片未黑色矩形的bug,在其他机器上都正常最后发现是图片打包尺寸的关系,iphone4无法读取2048以上大小的单个图片,所以其中的图片都显示成了黑色,希望对碰到相同问题的朋友有用附上ios各设备能够支持的最大单个图片尺寸1024 x 10242048 x 20484096 x 4096iPhone 2原创 2014-12-05 15:48:40 · 3840 阅读 · 0 评论 -
Cocos2d-x -- 纹理缓存(Texture Cache)
简介纹理缓存是将纹理缓存起来方便之后的绘制工作。每一个缓存的图像的大小,颜色和区域范围都是可以被修改的。这些信息都是存储在内存中的,不用在每一次绘制的时候都发送给GPU。CCTextureCacheCocos2d通过调用CCTextureCache或者CCSpriteFrameCache来缓存精灵的纹理。当这个精灵调用CCTextureCache 或 CCSprit原创 2014-12-04 17:39:44 · 3189 阅读 · 0 评论 -
Cocos2d-x 2.0 数据结构
CCString简介CCString继承至CCObject,CCObjecte这个基类主要是为了自动内存管理而创建的。CCString提供一系列的接口,例如create,convert等等。CCArray简介CCArray是cocos2d鼎力支持的数据结构类。它对游戏存储数组型数据做了优化。你可以在Cocos2d-x源文件目录cocos2d/supp原创 2014-12-04 16:41:20 · 801 阅读 · 0 评论 -
Cocos2d-x中的引用计数(Reference Count)和自动释放池(AutoReleasePool)
引用计数引用计数是c/c++项目中一种古老的内存管理方式。iOS SDK把这项计数封装到了NSAutoreleasePool中。所以我们也在Cocos2d-x中克隆了一套CCAutoreleasePool。两者的用法基本上一样,所以假如你没有涉及过ios开发,你可以看看苹果官方文档NSAutoreleasePool Class Reference。CCAutorelease原创 2014-12-04 17:14:59 · 641 阅读 · 0 评论 -
cocos2d-x 调度器(scheduler)
1原创 2014-11-06 17:46:27 · 1402 阅读 · 0 评论