2011-10-13 56 views
1

我正在开发一个侧面滚动的射击游戏,并且作为背景我有一组图像(在1024x1024的约15张图像中是png)。并与敌人的精灵和镜头,我开始有一些记忆问题。在游戏中管理大图像

我试图使用PVRTC纹理,但图像不像应该的那样闪亮。

我应该在旅途中加载纹理吗? 什么是你的纹理管理策略?

谢谢你的帮助

+0

为了性能对比的目的,您是否尝试过一些第三方框架,如优秀的http://www.cocos2d-iphone.org/? – Zaphod

+0

我想过那个,但是我担心现在我在我的项目中进步了,我应该打破很多代码... – Aymarick

回答

0

+1 to Aymarick comment。 有在cocos2d很好地解决了异步加载质地: https://github.com/cocos2d/cocos2d-iphone/blob/develop/cocos2d/CCTextureCache.m:

-(void) addImageAsync: (NSString*)path target:(id)target selector:(SEL)selector 

所以你在内存中保留您在游戏画面的质感和左/右屏幕。在滚动期间(例如,在正确的方向),您卸载不可见的左侧纹理,将当前屏幕纹理设置为左侧,将右侧纹理设置为当前屏幕,并异步加载新的右侧纹理。

但我更喜欢平铺的背景,如果它是可能的艺术设计。

0

“我试图使用PVRTC纹理,但图像不像它 应该是有光泽。”

出于好奇,您使用了哪种压缩工具? IMG的PVRTextool有时比那些与某些开发包捆绑在一起的那些更好,我相信,在不久的将来,更新的版本(具有完全重写的压缩器代码)应该可用于

+0

我使用PVRTextool,也许有一个更好的工作的具体命令,你的是什么? – Aymarick

+0

好的 - 我想也许你可能一直在使用苹果的。在这种情况下,除了增加迭代次数外,我认为在新版本发布之前不会有太多好处。由于纹理是背景的,我认为它们是不透明的? 至于我的压缩机是什么;我一直在PVRTexTool内建的下一个版本的库上工作。实际上,我很好奇什么类型的纹理很麻烦 - 我可以在测试套件中使用更多的“真实”数据。 –