cocos2d-x 菜鸟学习笔记三(图片预加载与进度条)
2013-05-21 21:40
441 查看
在做游戏时,会用于很多和图片资源,包括角色,动画,纹理贴图……为了减少GPU和CPU的缓存占用以及图片的重复利用,在游戏开始时,都会预加载这些资源进入缓存,在cocos2d-x里用的是CCTextureCache这个类。其实,在cocos2d-x自带的TestCpp里有对应的例子,在里面用的是:
这个方法通过图片的路径path,加载入target如:某个scene,当这个图片加载完成后,会调用一个回调函数selector,而这个回调函数便可以用于更新图片数据加载的总进度。关于纹理的介绍推荐一篇文章:http://www.oschina.net/question/565065_79823
进度条在网上的教程已经介绍得很清楚了,只是最近更新的版本重写了代码,只保留了两种进度条显示的基础类型,但是在引用这两种基础类型时,通过设置进度条的参数,还是可以变换出更多的显示效果的,这些效果在TestCPP中的ActionsProgressTest可以完全看到,使用的CCProgressTimer,下面使用的就是横向进度条的显示代码:
setType(kCCProgressTimerTypeBar);
用来设定进度条的显示类型
kCCProgressTimerTypeBar
可以看作是按矩形显示效果的进度条类型
setMidpoint
用来设定进度条横向前进的方向从左向右或是从右向左
setBarChangeRate
用来设置进度条增长按横向或是按纵向增长
最后,只要把设置进度条的方法写到回调函数中便可即时更新加载资源时进度条的显示进度。
另一个显示效果是圆周效果的进度条显示kCCProgressTimerTypeRadial,可以通过setReverseProgress(true);方法来设定按逆时针显示进度,False则为顺时针显示。
addImageAsync(const char *path, CCObject *target, SEL_CallFuncO selector);
CCTextureCache::sharedTextureCache()->addImageAsync("Images/grossini_dance_01.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
这个方法通过图片的路径path,加载入target如:某个scene,当这个图片加载完成后,会调用一个回调函数selector,而这个回调函数便可以用于更新图片数据加载的总进度。关于纹理的介绍推荐一篇文章:http://www.oschina.net/question/565065_79823
进度条在网上的教程已经介绍得很清楚了,只是最近更新的版本重写了代码,只保留了两种进度条显示的基础类型,但是在引用这两种基础类型时,通过设置进度条的参数,还是可以变换出更多的显示效果的,这些效果在TestCPP中的ActionsProgressTest可以完全看到,使用的CCProgressTimer,下面使用的就是横向进度条的显示代码:
CCProgressTimer *left = CCProgressTimer::create(CCSprite::create(s_pPathSister1)); left->setType(kCCProgressTimerTypeBar); // Setup for a bar starting from the left since the midpoint is 0 for the x left->setMidpoint(ccp(0,0)); // Setup for a horizontal bar since the bar change rate is 0 for y meaning no vertical change left->setBarChangeRate(ccp(1, 0)); //用来设置进度条的进度 left->setPercentage(20); addChild(left); left->setPosition(ccp(100, s.height/2));
setType(kCCProgressTimerTypeBar);
用来设定进度条的显示类型
kCCProgressTimerTypeBar
可以看作是按矩形显示效果的进度条类型
setMidpoint
用来设定进度条横向前进的方向从左向右或是从右向左
setBarChangeRate
用来设置进度条增长按横向或是按纵向增长
最后,只要把设置进度条的方法写到回调函数中便可即时更新加载资源时进度条的显示进度。
另一个显示效果是圆周效果的进度条显示kCCProgressTimerTypeRadial,可以通过setReverseProgress(true);方法来设定按逆时针显示进度,False则为顺时针显示。
相关文章推荐
- cocos2d-x 菜鸟学习笔记三(图片预加载与进度条)
- Android菜鸟学习笔记(ImageLoader加载图片)
- Android异步加载学习笔记之四:利用缓存优化网络加载图片及ListView加载优化
- Android网络图片加载缓存处理库的使用---第三方库学习笔记(五)
- 安卓智慧上海学习笔记系列——图片缩放模式及加载过程中设置默认图片
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第四步---编辑器(3)--坐标保存&加载文件操作
- Cocos2d-x学习笔记(三十二)之图片渲染
- TexturePacker打包图片并使用addImageAsync实现longding界面异步加载图片纹理---cocos2d-x学习之路[3]
- 学习笔记-----cocos2d-x加载cocostudio进度条
- Android菜鸟学习笔记(WebView加载html,滑动时闪屏)
- Java与Flex学习笔记(10)----Flex中加载gif图片
- 图片的异步加载和双缓存学习笔记——ImageLoaderConfiguration
- 【学习笔记】cocos2d 如何绘制一张图片
- cocos2d-x 菜鸟学习笔记十(计时器-CCScheduler)
- Crusher DJango 入门笔记(6) 学习加载css和图片
- Android网络图片加载缓存处理库的使用---第三方库学习笔记(五)
- SDL学习笔记二(图片的加载和显示)
- [置顶] iOS学习笔记47——图片异步加载之EGOImageLoading
- cocos2d-x 菜鸟学习笔记十五(简单的碰撞检测 实践篇 上)