教你Cocos2D加载图片的操作方法

    作者:课课家教育更新于: 2019-03-25 10:00:12

      对于Cocos2D中的加载图片操作方法,估计初学的同学会觉的无从下手,接下来本教程将为大家分享一个操作实例。

      首先要提醒一点,游戏开发中所有的图片最好都是png格式的,虽然png格式的图片比jpg或其他的图片要大,但是png的图片在sdk中是做过优化处理的,是苹果推荐的格式,对这个格式支持也是相对好的.尤其是在最新4.2的sdk中,如果你有jpg的图片,并且比较大,在真机上是现实不出来的.

      最开始做项目,对cocos2d了解的比较少,添加一个CCSprite时,为了简单,就直接用

    教你Cocos2D加载图片的操作方法_Cocos2D_Cocos2D游戏开发_Cocos2D教程_课课家

      CCSprite*sprite=[CCSpritespriteWithFile:@"图片名称"];如果你是这样用,那就是说图片要通过自动释放机制来完成对加载图片的释放了,那究竟什么时候图片会自动释放掉呢?当然是程序内存快要用尽的时候

      看你应用的delegate方法,会有上面一个函数,这个函数就是用来触发什么释放图片的.内存快要到达极限的时候会发出警告告诉上边的方面,然后这个方法就会从cache中释放掉当前不用的图片,

      removeUnusedTextures进到这个里面会看到实际上就是释放掉retaincount=1的资源.通过log会发现内存警告是分级别的,

      当时1级的时候问题不大,2级的时候就危险了,超过2级程序就完蛋了.而在调用内存警告之前,通过xcode提供内存跟踪工具,会发现图片一直会占着内存.

      所以就不要依赖自动释放了,会害了项目的,尤其做游戏,图片比较多,如果用这种方式加载素材,到后期就惨了.我是深有体会.

      我是这样做的

      其实就是手动构建CCsprite这样,在图片不用的时候(一般在dealloc方法中),直接把图片remove掉

      游戏开发中Cocos2d加载图片的操作方法介绍完了,希望本文对你有所帮助!

课课家教育

未登录

1