音效应该在什么时候处理?
我对音效和音乐有些困惑。对于音乐,我只是在一个关卡结束时处理掉它,因为我只需要重复音乐直到关卡结束,然后音乐就不再使用了。对于音效,它们只播放很短的时间,所以我不确定当一个新的播放相同的声音时会发生什么。
例如,玩家角色可以射击,并且每次射击时都会播放声音。那么,如果播放器发射6次,音效是像6个单独的声音一样需要处理,还是一个声音文件只在不再需要时才处理一次,无论它被使用了多少次?
发布于 2017-06-08 13:53:23
你不需要在每次播放的时候都处理掉它。只需在处理其他游戏资产时处理它(即在处理游戏时从game dispose方法调用它)。
当播放器连拍6次时,声音会同时播放6次。在javadoc中:
播放声音。如果该声音已经在播放,则会同时再次播放该声音。
但是你不应该处理6种不同的声音或者类似的东西。
所以回答你的问题:一个声音文件是不是只在不再需要的时候才被处理一次,无论它被使用了多少次?
是。
发布于 2017-06-08 17:09:17
适用于小项目/游戏的 :
create()方法中创建一次,并在游戏中使用而不是处置它们。声音声音= Gdx.audio.newSound(Gdx.files.internal("data/mysound.mp3"));
在ApplicationListener的dispose()方法中处理声音,在退出游戏时调用。
show()方法中创建您的声音,并在Screen的dispose()中进行处理,但是Screen的dispose()不是由框架调用的,所以您需要自己调用Screen的hide()方法中的dispose()方法。
AssetManager。在资源智慧型中为大型移动对象/游戏提供
您必须使用AssetManager,因为您必须管理大量资源。
https://stackoverflow.com/questions/44427483
复制相似问题