【问题标题】:How can I display lots of different sprites如何显示许多不同的精灵
【发布时间】:2012-08-04 22:45:47
【问题描述】:

游戏如何处理需要左右滑动才能选择关卡的关卡选择屏幕?此类游戏似乎每个级别都有不同的精灵(例如,Amazing Alex)。

如何在不占用太多内存空间的情况下加载这么多精灵?它们是否一次全部加载到内存中?在这种情况下是否使用了特殊技术?在我的游戏关卡选择中,我有 20 个关卡,每个关卡都有自己的精灵(图标)。如何一次处理所有这些精灵?

请记住,当用户左右滚动以选择关卡时,屏幕上一次最多出现 3 个精灵。

任何示例或链接都会很有用。

【问题讨论】:

  • 您的精灵的平均尺寸是多少(以像素为单位)?

标签: iphone ios4 cocos2d-iphone


【解决方案1】:

在我创建的游戏 SmashTurtle 中,我使用了 http://ios.biomsoft.com/2011/11/28/a-paging-uiscrollview-in-cocos2d-with-previews/ 教程中的 UIScrollView 滚动代码

SmashTurtle 有 25 个 200x200 点节点,可以选择多个 sprite,每个节点都添加多个精灵,我能够在 3gs 设备上实现良好的性能,在较新的设备上实现良好的性能。

当呈现选择级别场景时,我加载所有精灵。没有内存警告,加载速度非常快。我加载了一张 1024x1024 的表格,上面有 25 个精灵。我还从文件中加载了 25 个单独的精灵;对加载时间和绘图调用性能不利,但仍然可以正常工作,因为它只是一个关卡选择场景,没有其他任何事情发生。

从单独的文件中加载 25 个精灵的原因是,我需要将精灵放在单独的文件中以用于某些只需要 25 个恶意中的一个的级别,并且不想将 25 个单独的精灵复制到精灵表中,这样会增加捆绑包大小。

如果没有在选择关卡场景中加载 25 个单独文件的奇怪限制,我本可以让关卡选择滚动条更高效。但即使加载了精灵表和 25 个单独的文件,在 3gs 上的性能还是可以接受的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多