![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
COCO2D-x
Night-Wish
这个作者很懒,什么都没留下…
展开
-
cocos2d-x与ISO内存管理
之前项目一直在IPAD2上测试,一直很流畅。后来拿到ITOUCH上的时候,瞬间就崩了。用XCODE的内存分析工具分析,内存都快飙到200M了。。。。经过一番折腾以后,终于控制在80M以内。下边就写写折腾过程中遇到的问题。一,IOS与图片内存在IOS上,图片会被自动缩放到2的N次方大小。比如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的。图片占用内存大小的计算转载 2013-07-19 11:02:03 · 640 阅读 · 0 评论 -
2d-x 拷贝机制
CCObject是绝大部分cocos2d-x类的基类, 我们就从这里一步一步揭开cocos2d-x的奥秘.CCObject承担了两个重要的功能, 拷贝机制和内存管理.拷贝机制打开CCObject.h 首先看到的是类CCCopying, 而CCObject是从该类派生. 从这个意义上来讲CCCopying才是大部分类的基类.但CCCopying其实非常简单, 再加上没有其他类从C转载 2013-06-21 10:41:10 · 6175 阅读 · 0 评论 -
(游戏存档,切换高清,图片处理)
小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man到此,cocos2d-x的test范例介绍的差不多了,本系列的文章更新也会暂时暂停,之后会在每周新写一篇cocos2d-x的实例(个人写的一些游戏效果),敬请期待。本篇介绍剩下的一些小知识。1.游戏存档游戏存档是游戏中不可缺少的一部转载 2013-06-19 14:58:40 · 907 阅读 · 0 评论 -
CCRenderTexture
1.CCRenderTexture在j2me的手游写法中,我们一般是开一个线程,这个线程每帧更新渲染,再走一遍逻辑,在cocos2d-x中我们可以使用schduler来进行更新逻辑,这一部分之前已经说过。我们也可以控制渲染的部分,就是通过CCRenderTexture,通过CCRenderTexture可以实现更好的效果,这些效果我会在之后的cocos2d-x开发实例专题中有所体现。本部分的博转载 2013-06-19 14:49:41 · 1070 阅读 · 0 评论 -
粒子系统1:简介&工具使用
一、粒子系统简介:粒子系统最早出现在80年代,主要用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题。Particle System的应用非常广泛,大的可以模拟原子弹爆炸,星云变化,小的可以模拟水波、火焰、烟火、云雾等,而这些自然现象用常规的图形算法是很难逼真再现的。Particle System可以说是一种基于物理模型来解决问题的方法,它的核心不在于如何显示,而在用转载 2013-06-18 19:06:52 · 1538 阅读 · 0 评论 -
粒子效果 Particles
简介术语粒子系统关系到计算机图形学技术,使用大量非常小的sprite或其他图像对象来模拟特定种类的”模糊”现象,通过常规的渲染技术是很难制造的——一般来说有混乱系统、自然现象、或者活学反应引起的过程。Point vs Quad在Cocos2d-x早期版本中,Cocos2d-x里粒子系统有两种类型:Quad 和 Point粒子系统:CCParticleSystemQuad转载 2013-06-18 11:31:38 · 2053 阅读 · 0 评论 -
cocos2d-x场景中的层(CCLayer)及其触摸消息响应
之前已经建立好了一个场景,在建立场景的时候,已经将一个CCLayer加到场景的子节点上,这个节点将作为这个场景的父节点,场景中所有的内容都将以它的孩子身份出现。在移动设备上,最常处理的就是触摸消息的响应了。 单点触控:Targeted Touch Delegate方式一个层接收触摸消息需要如下步骤:1,在初始化阶段将此层的属性设置为接收触摸消息。例如在init()函数中添加:m转载 2013-06-15 16:56:44 · 845 阅读 · 0 评论 -
cocos2d-x touches事件中使用 addTargetedDelegate 的潜在bug
跟踪进入addTargetedDelegate 的代码,会发现,如果touchDispacher当前被锁定了,那么新加的touch delegate会被添加进一个缓冲数组里 m_pHandlesToAdd, 并没有被真正注册, 如果之后使用 findHandler 是找不到这个对象的。而让touchDispacher被锁定的(m_bLocked=true)唯一方式是调用了touches方法。因转载 2013-06-15 14:56:16 · 1821 阅读 · 0 评论 -
cocos2d-x onEnter函数追根溯底
cocos2d中ccNode的onEnter是一个非常重要的函数,从名字上看就是进入意思,如果没‘进入’那肯定就很严重了,首先看看ccNode的类的派生关系 onEnter函数追根溯底" title="cocos2d-x onEnter函数追根溯底">很复杂吧,看看onEnter这个函数的声明onEnter函数追根溯底" title="cocos2d-x onEnter函数追根溯底"转载 2013-06-14 15:01:35 · 1221 阅读 · 0 评论 -
cocos2d-x 关于CCpoint的一些算法或者说扩展
static inline CCPoint ccpNeg(const CCPoint v) //计算关于原点的对称点 { return ccp(-v.x, -v.y); } /** Calculates sum of two points. @return CCPoint @since v0.7.2 */ static inline CCPo转载 2013-06-14 14:41:11 · 2620 阅读 · 0 评论 -
cocos2d-x 计时器-CCScheduler)
CCScheduler可以算是个计时器,可以根据需要通过此类下的各种方法设定计时来执行回调函数,达到计时控制精灵、动画的作用。官方原例中已经演示了这个类的具体使用方法,这里就记录一下使用方法:1.setTimeScale用于减慢或者快进动画,其默认参数值为1.0,低于此值时计时器会放慢,否则加快,下面是代码:[cpp] view plaincopyclass S转载 2013-06-13 16:56:30 · 3335 阅读 · 0 评论 -
cocos2d-x 字体使用方法浅析
要看图片到:http://blog.sina.com.cn/s/blog_82ca0a77010111xt.htmlcocos2d 使用字体的类大概分为三种:CCLabelAtlas、CCLabelBMFont、CCLabelTTF。下面分别介绍这三种字体类提供的接口及一般初始化方法。一、首先是我用得比较熟悉的CCLableTTF1、char *descriptio转载 2013-02-19 16:35:36 · 1615 阅读 · 0 评论 -
cocos2d-x初探学习笔记(6)--场景间切换效果
Cocos2d-x提供了很多场景间切换的效果,可以方便大家使用(很多是在Kjava时代都需要程序员自己来实现的效果)。1.使用方法:正常的无过渡场景的如果尚未建立场景(即游戏中的第一个场景),就是用pDirector->runWithScene(pScene);即可以使用相应场景,如果是替换场景,则使用CCDirector::sharedDirector()->replaceScene(t转载 2013-02-19 16:00:14 · 515 阅读 · 0 评论 -
cocos2d-x游戏开发 回调函数
cocos2d-x中有大量的回调函数的应用,主要有以下几类,看下CCObject.h中的定义[cpp] view plaincopyprint?typedef void (CCObject::*SEL_SCHEDULE)(float);// 用来调update typedef void (CCObject::*SEL_CallFunc)();// 用来自定义无参回转载 2013-06-21 10:34:04 · 1014 阅读 · 0 评论 -
OpenGL中位图的操作(glReadPixels,glDrawPixels和glCopyPixels应用举例)
1、 BMP文件格式简单介绍BMP文件是一种像素文件,它保存了一幅图象中所有的像素。这种文件格式可以保存单色位图、16色或256色索引模式像素图、24位真彩色图象,每种模式种单一像素的大小分别为1/8字节,1/2字节,1字节和3字节。目前最常见的是256色BMP和24位色BMP。这种文件格式还定义了像素保存的几种方法,包括不压缩、RLE压缩等。常见的BMP文件大多是不压缩的。这转载 2013-06-19 15:38:56 · 3921 阅读 · 0 评论 -
关于cocos2d-x中的多点触摸的问题
在cocos2d-x中,对于触摸事件有两种模式:大家都知道,第一种为CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 0);//添加触摸委托,也是cclayer默认的模式,可用于多点触摸;第二种为CCDirector::sharedDirector()->getTouchD原创 2013-07-06 11:17:20 · 3470 阅读 · 1 评论 -
CCLayer中如何 控制只显示特定的区域
CCLayer中如何 控制只显示特定的区域 在CCLayer中,我们有时候要实现自己的CCLayer,当有内容超过我们的范围后,我们想不显示这个超出范围的内容,这个用opengGL的 glScissor 函数可以实现。scissor的意思是剪切。 在CCLayer中,负责绘制的函数是在visit函数中,所以我们需要将这个函数重写。转载 2013-06-21 17:22:26 · 936 阅读 · 0 评论 -
cocos2d-x CCCallFunc系列函数的应用
CCCallFunc作为一个CCAction可以用来调用自己的函数。其用处还是很多的。1、用一个不带参数的函数给一个action创建回调功能。使用CCCallFunc[cpp] view plaincopyCCFiniteTimeAction* actions= CCSequence::actions(action,转载 2013-06-24 17:05:16 · 877 阅读 · 0 评论 -
cocos2d-x CCNode,CCLayer,CCScene分析
CCNode是父亲,CCLayer和CCScene是他2个孩子,CCScene 负责和CCDirector打交道,负责管理CCNode 所有的孩子(这个CCNode不知道有多少孩子,孙子)CCNode| |CCLayer CCSceneCCNode核心属性和方法class CC_DLL CCNode : public CCObject{ 1 2转载 2013-06-28 10:44:10 · 3132 阅读 · 0 评论 -
cocos2d-x 贝塞尔曲线
如果我们想实现让CCSprite进行抛物线运动的话,那么我想童鞋们首先会想到利用Box2d或者其他物理引擎去为CCSprite创建物理世界中对应的刚体进行实现,但是反过来想,对于不熟悉Box2d或者其他物理引擎的童鞋,肯定不方便,那么Himi今天为大家介绍另外一种不实用物理引擎实现CCSprite抛物线方式; 这里我直接将封装好的方法贴上来,注释都在代码中了:[cpp转载 2013-08-14 11:12:23 · 4662 阅读 · 0 评论 -
【cocos2d-x官方文档】骨骼动画详解
本文由shiren1118翻译,转载请注明出处并通知泰然 骨骼动画 vs. 精灵表(sprite sheets) 创建动画又快又简单的方法是使用“精灵表”(sprite sheets).当你意识到游戏需要大量动画,内存消耗会涨上来,而且需要耗时去加载所有数据.此外,限于大小,你需要为了动画限制自己使用低FPS,这意味着动画不是你想要的那么平滑.这就是骨骼动画的由来. 骨骼动转载 2013-07-06 17:00:54 · 10786 阅读 · 0 评论 -
cocos2d-x schedule 定时器
1.取消一个定时器所有的定时器都用下面的额这个方法取消C++//void unschedule(SEL_SCHEDULE selector);unschedule(schedule_selector(HelloWorld::callFunc));12//void unschedule(SEL_SCHEDULE s转载 2013-07-12 11:13:02 · 4328 阅读 · 1 评论 -
cocos2d 关于资源不同分辨解决机制
Mechanism of Loading Resources¶Mechanism of Loading Resources1. Distributed strategy1.1. Developer guilde1.2. Notes2. Centralized strategy2.1. Why use a different mechanism than coco转载 2013-08-07 17:06:26 · 1638 阅读 · 0 评论 -
Box2d,物理引擎
1.cocos2d 自带了两套物理引擎:Box2D 和Chipmunk。两套引擎都是为2D游戏设计的,可以和cocos2d 完美整合。Box2D 是用 C++写的,而 Chipmunk 用的是 C。Box2D中的变量和方法名都是用全称命名的,Chipmunk中很多地方用的是只有一个字母的简写。有一些功能只有Box2D提供,Chipmunk是没有的。比如,Box2D有针对快速移动物体(例如子转载 2013-08-08 15:51:47 · 4723 阅读 · 0 评论 -
cocos2d各种动作的使用(变色、跳动、旋转、闪烁、悬挂、放大缩小、渐变、animation)
用到的知识:***To: 意味着运动到指定的位置。***By:意味着运动到按照指定癿 x、y 增量的位置。(x、y 可以是负值)移动到 – CCMoveTo移动– CCMoveBy跳跃到 – CCJumpTo设置终点位置和跳跃癿高度和次数。跳跃 – CCJumpBy设置终点位置和跳跃癿高度和次数。放大到 – CCScaleTo转载 2013-07-04 11:10:03 · 8965 阅读 · 0 评论 -
How to play animations in Cocos2d-x?
CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache();cache->addSpriteFramesWithFile("numbers.plist","numbers.png");CCSprite* sprite = CCSprite::createWithSpriteFrame(CCSpriteFra转载 2013-07-06 16:45:20 · 800 阅读 · 0 评论 -
【cocos2d-x官方文档】动画 Animations
Frame Animation(帧动画)你可以通过多张图片文件来创建一个动画,比如: CCAnimation *animation = CCAnimation::create(); // load image file from local file system to CCSpriteFrame, then add into CCAnimation for (int i = 1; i转载 2013-07-06 16:53:06 · 2244 阅读 · 0 评论 -
Scheduler and Timer Callback
Scheduler and Timer Callback调度器负责触发调度回调.两种不同类型的回调 (selectors):更新selector: ‘update’ selector会被每个frame调用.你可以自定义优先级.自定义selector: 自定义selector会被每个frame调用, 或自定义的时间段内调用.‘custom selectors’尽可能避免使用。相对转载 2013-07-06 17:05:09 · 863 阅读 · 0 评论 -
仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)
转载自ufolr的博客 原文连接:http://blog.csdn.net/ufolr/article/details/7624851 最近项目中需要一个落叶的效果,本来想用粒子特效来实现,但是几经调试,虽然调出了落叶的效果,但是并不是十分理想,最大的不足就是落叶是平面的,没有立体感,虽然把落叶做小之后却是立体感的感觉会有所缓解,但总不能把树叶无限的缩小吧,而转载 2013-07-06 17:41:03 · 8964 阅读 · 0 评论 -
cocos2d-x 翻转效果,转载收集
-(void) chooseCard1{ [cardBack1 runAction:[CCSequence actions:[CCOrbitCamera actionWithDuration:orbitTime radius: 1 deltaRadius:0 angleZ:0 deltaAngleZ:90 angleX:0 deltaAngleX:0],[CCCallFunc act转载 2013-07-06 17:46:38 · 2752 阅读 · 0 评论 -
OpenGL中的混合 (blend)
Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度的透明。α值为0则完全透明,α值为1则完全不透明。混合操作只能在RGBA模式下进行,颜色索引模式下无法指定α值。物体的绘制顺序会影响到OpenGL的混合处理。 glEnable( GL_BLEND ); // 启转载 2013-07-09 11:32:46 · 807 阅读 · 0 评论 -
Cocos2d-x specific changes about CCDictionary and CCArray
Cocos2d-x specific changesFollowing are changes Cocos2d-X specific.CCDictionary and CCArray1. Why CCMutableDictionary is Deprecated?In gles20 branch, 'CCMutableDictionary' and 'CCMutableArra转载 2013-07-11 12:02:08 · 1219 阅读 · 0 评论 -
cocos2d-x action动作整理集合
1.基本动作 Cocos2d提供的基本动作:瞬时动作、延时动作、运作速度。 瞬时动作:就是不需要时间,马上就完成的动作。瞬时动作的共同基类是 InstantAction。 Cocos2d提供以下瞬时动作: 放置 – Place 效果类似于 node.Position = ccp(x, y)。之所以作为一个动作来实现是为了可以与转载 2013-07-12 15:03:42 · 759 阅读 · 0 评论 -
关于CCLayer锚点的问题
在cocos2d-x中,CCLayer默认锚点无效,设置position的参考点在左下角原创 2013-06-28 11:28:19 · 2397 阅读 · 1 评论 -
cocos2d-x初探学习笔记(24)--音乐音效
在游戏中,音乐是一个不可缺少的部分,音乐分为游戏中的长时间的背景音乐和短的音效两种,可以为我们的游戏增加效果。Cocos2d-x支持多种音乐格式mp3,wav等音乐格式1.背景音乐要使用一个音乐,首先要预加载这个音乐,预加载的方法如下SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::fullP转载 2013-06-19 14:51:59 · 4157 阅读 · 0 评论