当我第一次调用Manager.CreatePlayer()时,它将我的应用程序冻结一秒钟,这对我来说是一个问题,因为我'我写了一个游戏,这很明显,我能做些什么来解决它?J2ME Manager.CreatePlayer()在第一次使用时冻结应用程序的秒数
回答
据我所知,游戏常见的逻辑是:
显示加载屏幕
这里的所有重型作业准备/预装和缓存,因此本场比赛以后可以流畅运行。 这里通常要调用的方法是Manager.createPlayer
和Player.prefetch()
。 所有的图像&声音是第一次准备,并可以在游戏开始时快速使用。
开始游戏(循环)
由于资源已经准备/预载,现在你可以在这里使用(画/播放)他们。 使用Player
已预先创建的&实例(来自加载屏幕)。 您可以在这里拨打Player.start()
方法来播放声音。
您可以了解玩家的状态(尤其是有关预取)HERE。
请注意,您可以重复使用Player
实例并多次调用start()
方法播放相同的声音。无需再次拨打createPlayer
。
但是如果我在不同的动作发生时应该播放几个不同的声音,那么我应该如何使用多个播放器来预取播放器?或者我应该创建每个播放器与每个音乐文件预取,然后当动作occours重新创建这个播放器与正确的音乐文件,并播放它会工作? – user3497284
当游戏开始时重新创建玩家是一个坏主意(createPlayer是繁重的过程)。更好的方法是在加载屏幕阶段创建多个播放器,为一种声音创建一个播放器实例(并且不要忘记也预取它们) –
好的感谢您的指导! – user3497284
- 1. iPhone AVAudioPlayer应用程序在第一次播放时冻结
- 2. Android应用程序在第二次启动时冻结
- 3. 使用$ localForage.setItem时,应用程序冻结几秒
- 4. 我的应用程序在第一次启动时就会冻结
- 5. 签名J2ME的应用程序挂在第一次启动
- 6. iOS应用程序在线启动时被冻结10秒“setupAutoMigratingCoreDataStack”
- 7. iCloud启用时首次启动iOS应用程序时冻结
- 8. J2me检测应用程序的第一次启动
- 9. Android 2D游戏应用程序冻结1秒一致
- 10. 第一次使用Facebook应用程序
- 11. 第一次使用时创建应用程序数据
- 12. 使用xuggler冻结应用程序
- 13. 应用程序在设备启动前几秒钟冻结
- 14. Swing应用程序冻结
- 15. Winform应用程序冻结
- 16. WPF应用程序冻结
- 17. JPGEncoder冻结应用程序
- 18. Java应用程序冻结
- 19. UIWebthreadlock冻结应用程序
- 20. iPhone应用程序冻结
- 21. IE10冻结应用程序
- 22. sleepForTimeInterval超时冻结应用程序
- 23. VB.NET应用程序运行时冻结?
- 24. 为什么应用程序在第一次打开时会冻结一段时间?
- 25. Tomcat冻结了一个应用程序
- 26. 冻结一个android应用程序
- 27. Actionscript-sortCompare函数在排序时冻结应用程序
- 28. 每隔2秒冻结android的应用程序
- 29. 应用程序洞察使应用程序在启动时冻结
- 30. Application.LoadComponent使应用程序冻结关闭
这可能是因为文件正在加载。在这种情况下,修复很简单:只需在自己的线程中处理玩家例程。 –