【问题标题】:cocos2d-iphone SimpleAudioEngine preload strategycocos2d-iphone SimpleAudioEngine 预加载策略
【发布时间】:2013-03-17 03:06:02
【问题描述】:

SimpleAudioEngine 效果预加载的最佳策略是什么?在游戏启动时预加载所有音效?还是在每个屏幕的创建中仅预加载此屏幕中使用的效果? 加载的效果会在某个时候发布吗?

【问题讨论】:

    标签: cocos2d-iphone simpleaudioengine


    【解决方案1】:

    如果第一次播放音效会导致明显的延迟,则需要预加载。对于动作游戏,您要预加载所有游戏效果。对于回合制或其他“慢节奏”的游戏,可以不预加载任何音效。

    预加载的时间和地点取决于您的需求。通常在游戏场景开始时(即在 init 或 onEnter 期间)。

    除非您调用 unloadEffect,否则不会释放预加载的效果。音频引擎在内部缓存音效,因此这不是预加载独有的。简单地播放声音效果也会加载它并将其保存在内存中。

    【讨论】:

    • 因此,如果某个预加载(或刚刚使用?)的音效在某个时候没有卸载,那么该内存是否会泄漏内存。示例是只在 HelloWorldLayer 中使用的音效,当您从该层(或场景...)出去时,HelloWorldLayer 中使用的音效仍然会徘徊,内存将无法使用?
    猜你喜欢
    • 2017-04-09
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多