首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Libgdx -如何正确处理声音文件

Libgdx -如何正确处理声音文件
EN

Stack Overflow用户
提问于 2017-06-08 13:43:13
回答 2查看 473关注 0票数 0

音效应该在什么时候处理?

我对音效和音乐有些困惑。对于音乐,我只是在一个关卡结束时处理掉它,因为我只需要重复音乐直到关卡结束,然后音乐就不再使用了。对于音效,它们只播放很短的时间,所以我不确定当一个新的播放相同的声音时会发生什么。

例如,玩家角色可以射击,并且每次射击时都会播放声音。那么,如果播放器发射6次,音效是像6个单独的声音一样需要处理,还是一个声音文件只在不再需要时才处理一次,无论它被使用了多少次?

EN

回答 2

Stack Overflow用户

发布于 2017-06-08 13:53:23

你不需要在每次播放的时候都处理掉它。只需在处理其他游戏资产时处理它(即在处理游戏时从game dispose方法调用它)。

当播放器连拍6次时,声音会同时播放6次。在javadoc中:

播放声音。如果该声音已经在播放,则会同时再次播放该声音。

但是你不应该处理6种不同的声音或者类似的东西。

所以回答你的问题:一个声音文件是不是只在不再需要的时候才被处理一次,无论它被使用了多少次?

是。

票数 1
EN

Stack Overflow用户

发布于 2017-06-08 17:09:17

适用于小项目/游戏的 :

  1. 你在PlayScreen上使用的任何声音,在游戏的create()方法中创建一次,并在游戏中使用而不是处置它们。

声音声音= Gdx.audio.newSound(Gdx.files.internal("data/mysound.mp3"));

ApplicationListenerdispose()方法中处理声音,在退出游戏时调用。

  • 在Screen接口的show()方法中创建您的声音,并在Screen的dispose()中进行处理,但是Screen的dispose()不是由框架调用的,所以您需要自己调用Screen的hide()方法中的dispose()方法。

  • 使用AssetManager,通过加载、卸载的方式管理您的资源,并在ApplicationListener中处理您的AssetManager

在资源智慧型中为大型移动对象/游戏提供

您必须使用AssetManager,因为您必须管理大量资源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44427483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档