- 浏览: 466510 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (470)
- 前言 (1)
- 【sys】centos6.2 (51)
- 【sys】shell (8)
- 【sys】yum (1)
- software (6)
- 【tec】ruby (16)
- 【tec】rails (35)
- 【tec】rails路由 (2)
- 【tec】rails部署 (10)
- 【tec】rails优化 (6)
- 【tec】rails测试 (11)
- 【tec】php (45)
- 【tec】android (1)
- 【tec】ios (125)
- 【data】mysql (11)
- web (6)
- 【life】文学与提升 (2)
- life (36)
- 【life】怀念 (1)
- 【web】nginx (5)
- 【web】网络与安全 (4)
- 工作随笔 (1)
- 【software】svn (5)
- 【script】jquery (10)
- powerEdge (2)
- 杂七杂八 (5)
- 【sys】ubuntu (9)
- 【sys】windows (4)
- 【tec】java (1)
- 【tec】html (3)
- 【tec】c++ (38)
- 【tec】汇编 (1)
- 【data】数据库 (1)
- 【exchange 】学术交流 (1)
- 【tec】域名空间 (1)
- 【tec】编程先知 (1)
- 【tec】网站建设 (7)
- 【sys】mac (24)
- 【sys】seo (1)
- 【tec】wp (1)
- 【software】git (4)
最新评论
-
fireDragonpzy:
呵呵 貌似我网站上的有更新 你从那里看看 这个博客维护的不及时 ...
牛人经典语录 -
Peppermintchz:
还真这么2过啊!!好怀念啊
牛人经典语录 -
fireDragonpzy:
chenhong53 写道你好,我想问一下,能不能给一组精灵数 ...
cocos2d-x事件触发的优先级 -
chenhong53:
你好,我想问一下,能不能给一组精灵数组中的精灵添加触屏优先级, ...
cocos2d-x事件触发的优先级 -
fireDragonpzy:
dreamstar1020 写道谢谢庞兄指点,写的很详细,谢谢 ...
致:上海郑兄(虚拟主机-web服务器搭建)
本文为firedragonpzy原创,转载务必在明显处注明:
转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/312
转载自【Softeware MyZone】原文链接: http://www.firedragonpzy.com.cn/index.php/archives/312
注意cache的使用: 1、CCSpriteFrameCache使用: CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache(); cache->addSpriteFramesWithFile("animations/grossini.plist"); 在离开的时候: void SpriteFrameTest::onExit() { SpriteTestDemo::onExit(); CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache(); cache->removeSpriteFramesFromFile("animations/grossini.plist"); 或者:CCSpriteFrameCache::sharedSpriteFrameCache()->removeUnusedSpriteFrames(); } 大家先看看sharedSpriteFrameCache的源码: CCSpriteFrameCache* CCSpriteFrameCache::sharedSpriteFrameCache(void) { if (! pSharedSpriteFrameCache) { pSharedSpriteFrameCache = new CCSpriteFrameCache(); pSharedSpriteFrameCache->init(); } return pSharedSpriteFrameCache; } CCSpriteFrameCache::~CCSpriteFrameCache(void) { CC_SAFE_RELEASE(m_pSpriteFrames); CC_SAFE_RELEASE(m_pSpriteFramesAliases); } 并没有autorelease,不会持有,当一释放的时候就会被删除 2、CCTextureCache使用: SpriteNewTexture::SpriteNewTexture() { setIsTouchEnabled( true ); CCNode* node = CCNode::node(); addChild(node, 0, kTagSpriteBatchNode); m_texture1 = CCTextureCache::sharedTextureCache()->addImage("Images/grossini_dance_atlas.png"); m_texture1->retain(); m_texture2 = CCTextureCache::sharedTextureCache()->addImage("Images/grossini_dance_atlas-mono.png"); m_texture2->retain(); m_usingTexture1 = true; for(int i=0;i<30;i++) addNewSprite(); } SpriteNewTexture::~SpriteNewTexture() { m_texture1->release(); m_texture2->release(); } 大家先看看sharedTextureCache的源码: CCTextureCache * CCTextureCache::sharedTextureCache() { if (!g_sharedTextureCache) g_sharedTextureCache = new CCTextureCache(); return g_sharedTextureCache; } CCTextureCache::~CCTextureCache() { CCLOGINFO("cocos2d: deallocing CCTextureCache."); CC_SAFE_RELEASE(m_pTextures); } 也是没有autorelease,不会持有,当一释放的时候就会被删除,若想持有,按照上述例子retain和release
发表评论
-
cocos2d-x CCClippingNode遮罩实现手电筒效果
2013-07-09 20:14 2257详情请参考:【Software Myzone】:http:// ... -
Cocos2d: Stencil buffer is not enabled.
2013-07-05 10:47 1639详情请参考:【Software Myzone】:http:// ... -
[2.1.3]修改SearchPaths的三种方式【熊猫版】
2013-06-24 09:44 887详情请参考:【Software Myzone】:http:// ... -
深入理解 Cocos2d-x 内存管理 转
2013-06-24 09:43 813详情请参考:【Software Myzone】:http:// ... -
cocos2d-x场景缩放后的区域碰撞检测
2013-06-24 09:31 1432详情请参考:【Software Myzone】:http:// ... -
编译CSArmature到Android
2013-05-29 09:09 787详情请参考:【Software Myzone】:http:// ... -
TexturePacker 图片加密 转
2013-05-29 09:09 898详情请参考:【Software Myzone】:http:// ... -
Cocos2d-x 屏幕适配新解 转
2013-05-28 13:21 912详情请参考:【Software Myzone】:http:// ... -
cocos2d-x 使用TinyXML2存储数据:FDTinyXML2
2013-05-09 14:31 1076详情请参考:【Software Myzone】:http:// ... -
TinyXML2 学习
2013-05-09 14:31 811详情请参考:【Software Myzone】:http:// ... -
cocos2d-x 精灵的移动遮罩[手电筒效果]
2013-05-02 09:41 1108详情请参考:【Software Myzone】:http:// ... -
Android平台中进程与线程的基本知识
2013-05-02 09:41 745详情请参考:【Software Myzone】:http:// ... -
Jumper类游戏制作【Forest Run】
2013-04-24 16:20 572详情请参考:【Software Myzone】:http:// ... -
Cocos2D 如何做 Android 适配 转
2013-04-22 16:48 666详情请参考:【Software Myzone】:http:// ... -
类似Temple Run 游戏恢复的321倒计时实现
2013-04-22 16:47 1056详情请参考:【Software Myzone】:http:// ... -
工具库:UtilTools
2013-04-22 16:47 709详情请参考:【Software Myzone】:http:// ... -
C++的深拷贝与浅拷贝
2013-04-03 10:23 797详情请参考:【Software Myzone】:http:// ... -
Cocos2d-x Win32下的节点缩放原理研究心得【熊猫版】
2013-04-03 10:23 900详情请参考:【Software Myzone】:http:// ... -
Cocos2d-x 节点绘制流程研究心得【熊猫版】
2013-04-03 10:22 806详情请参考:【Software Myzone】:http:// ... -
基于cocos2d-x的游戏客户端优化
2013-04-03 10:22 752详情请参考:【Software Myzone】:http:// ...
相关推荐
在cocos2d-x这个强大的2D游戏开发框架中,CCTextureCache是图像资源管理的核心组件,它负责加载、缓存和管理纹理。本文将深入探讨CCTextureCache的工作原理及其在实际开发中的应用。 CCTextureCache是cocos2d-x中的...
1. 加载精灵表:使用` CCTextureCache::sharedTextureCache()->addImage()` 加载精灵表图片文件。 2. 获取精灵帧:通过` CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile()` 添加精灵帧信息...
资源通常以.png或.jpeg格式存储,可以使用` CCTextureCache::sharedTextureCache()->addImage("your_image_path.png") `加载到纹理缓存中。然后,通过` CCSprite::createWithTexture(texture) `创建精灵对象,其中`...
texture=CCTextureCache::sharedTextureCache()->addImage("bj01.png"); back=CCSprite::createWithTexture(texture); back->setPosition(ccp(size.width/2,size.height/2)); this->addChild(back,0); //加载...
Cocos2d-X 提供了 CCTextureCache 和 CCSpriteFrameCache 来管理和缓存纹理资源。CCTextureCache 可以加载并存储纹理,减少内存占用,而 CCSpriteFrameCache 用于管理精灵帧,尤其在动画中起到关键作用。例如,代码...
2. **加载Spritesheet**:在cocos2d-x代码中,使用` CCTextureCache::getInstance()->addImage()` 加载图片文件,然后用` CCSpriteFrameCache::getInstance()->addSpriteFramesWithFile()`加载.atlas文件,这会将...
需要注意释放的时机,避免在两个场景资源重叠时引发问题,例如在使用过渡效果时。 此外,强制释放全部资源可能导致正在执行的动画失去引用,产生异常。此时,可以使用CCActionManager的sharedManager()->...
2. **碰撞检测**:当用户点击或交换两个元素时,需要检测它们是否满足消除条件(通常为三个相同元素相邻)。 3. **元素动画**:消除元素时,会有炫酷的动画效果,这通常通过改变元素的位置、颜色、透明度等属性实现...
3. **CCSpriteFrameCache**: 管理精灵帧缓存,用于优化大量精灵的加载和使用。 4. **CCLabel**: 提供文本显示功能,支持TTF字体和Bitmap Font。 5. **CCTextureCache**: 缓存纹理,提高图像加载速度,减少内存开销...
6. **缓存机制**:为了提高性能,Cocos2d有内置的缓存系统,如纹理缓存(` CCTextureCache`)和精灵帧缓存(`CCSpriteFrameCache`)。它们负责加载和缓存资源,避免重复加载相同的文件。 7. **流式I/O**:在处理...
通过使用`CCSpriteBatchNode`,可以一次性渲染多个使用相同纹理的精灵,从而减少渲染调用次数,提升帧率。 #### 创建和使用精灵 - **创建精灵**:最简单的方式是使用`CCSprite *sprite = [CCSprite spriteWithFile...
开发者需要使用Cocos2d-x提供的API来加载和管理这些资源,例如`CCSprite::create()`用于创建精灵,`CCTextureCache::addImage()`用于加载图像,`CCTouchDispatcher`来处理触摸事件等。 2. Classes文件夹: 这个...
当两个相同数字的格子相遇时,它们会合并,数字相加,并创建新的格子。 此外,cocos2dx的动画系统也是实现2048游戏动态效果的关键。通过创建动作(CCAction)和动作序列,可以轻松实现格子的平滑移动、数字的淡入...
在打地鼠游戏中,Scene可能包含两个Layer:一个是背景Layer,用于显示游戏场地;另一个是交互Layer,负责处理地鼠的出现和玩家的打击。Sprite则可以用来表示地鼠、锤子和其他游戏元素。 接下来,我们讨论面向对象的...
Cocos2d提供资源加载器,如`CCSpriteFrameCache`和`CCTextureCache`,便于管理和复用资源。 8. **界面设计**:游戏界面通常包括得分显示、生命值、暂停按钮等元素。这些可以通过Cocos2d的UI组件如`CCLabel`、`...
在Cocos2d-x中,资源管理是通过加载器类来实现的,例如CCSpriteFrameCache用于管理精灵帧,CCTextureCache用于管理纹理。 2. **Classes**:这个目录下存放的是游戏的核心代码,包括各种场景(Scene)、层(Layer)...
Cocos2d-x提供了资源加载器,如`CCSpriteFrameCache`(精灵帧缓存)和`CCTextureCache`(纹理缓存),用于高效地管理和加载资源。 6. **动画**:游戏中可能会用到动画效果,如方块的出现和消失,这些可以通过`...
这个"2.2 API"是针对Cocos2d-x 2.2版本的开发者文档,由doxygen生成,包含了详细的类、方法、函数以及其他编程接口的描述,方便开发者理解和使用Cocos2d-x的功能。 Cocos2d-x 2.2 API的核心知识点包括以下几个方面...
Cocos引擎提供了CCSpriteFrameCache和CCTextureCache等类,用于高效地加载和缓存资源,确保游戏运行流畅。 5. **用户界面(UI)**:游戏菜单、分数显示、提示信息等都是UI的一部分。Cocos引擎提供了一个强大的UI...
- `CCSpriteFrameCache` & `CCTextureCache`: 缓存精灵帧和纹理,提高加载效率。 - `CCTouchDispatcher`: 处理触摸事件,分发给适当接收者。 - `CDAudioManager` & `SimpleAudioEngine`: 管理音频播放和音效。 ####...