大家好,最近忙于项目比较少发博文,现在发自己发现的问题跟大家共享一下!在我用cocos2dx做游戏时,本想用一个loading界面使一开始下一个跳转以及之后的跳转界面都不卡(这个是我的本意)。后来就根据网上大家都建议使用的异步加载图片的方法去加载图片纹理
//对话的图片纹理
CCTextureCache::sharedTextureCache()->addImageAsync("dialogue.png",this,callfuncO_selector(StartLayer::gamemainCallback));
//对话的图片纹理
CCTextureCache::sharedTextureCache()->addImageAsync("ioc.png",this,callfuncO_selector(StartLayer::gamemainCallback));
//栅栏的图片纹理
CCTextureCache::sharedTextureCache()->addImageAsync("column.png",this,callfuncO_selector(StartLayer::gamemainCallback));
//天空2的图片纹理
CCTextureCache::sharedTextureCache()->addImageAsync("sky2.png",this,callfuncO_selector(StartLayer::gamemainCallback));
//大地2的图片纹理
CCTextureCache::sharedTextureCache()->addImageAsync("grassland2.png",this,callfuncO_selector(StartLayer::gamemainCallback));
//花朵的图片纹理
CCTextureCache::sharedTextureCache()->addImageAsync("flower.png",this,callfuncO_selector(StartLayer::gamemainCallback));结果发现在主界面时来跳转到另外一个界面时还是很卡(用android手机调试),但同时也发现一个奇怪的现象就是只是第一次跳转会卡,之后就不会了。所以我就在loading界面中加上了create的函数但不加到画面中,使他第一次加载在loading界面中,结果发现在手机上就不卡了,应该是得在create一次才能真正把纹理加载到内存里面,本人只能如此理解,如果大家有更好的理解,请留言哈
CCTexture2D *texture2d=CCTextureCache::sharedTextureCache()->textureForKey(image);
CCSprite* sprite = CCSprite::createWithTexture(texture2d);

本文分享了使用Cocos2d-x制作游戏时遇到的界面卡顿问题及解决方法。通过异步加载图片纹理并预创建精灵对象,解决了初次界面跳转卡顿的问题。
1928

被折叠的 条评论
为什么被折叠?



