我编写了一个单元有 3 个音频阶段的 Android 游戏:
- 被击中
- 攻击
- 死的
所以我在我的单元对象中添加了以下代码:
MediaPlayer mMediaPlayerGetHit = null;
MediaPlayer mMediaPlayerDead = null;
MediaPlayer mMediaPlayerAttack = null;
在constructor:
mMediaPlayerAttack=MediaPlayer.create(context,R.raw.fly_monster_attack1);
mMediaPlayerDead=MediaPlayer.create(context,R.raw.fly_monster_death1);
mMediaPlayerGetHit=MediaPlayer.create(context,R.raw.fly_monster_gethit1);
mMediaPlayerAttack.setOnPreparedListener(this);
mMediaPlayerDead.setOnPreparedListener(this);
mMediaPlayerGetHit.setOnPreparedListener(this);
....
现在好像乱七八糟了
嗯,3 个玩家对象,每个单位状态一个。
我确定它的方式是错误的,我需要更改MediaPlayer有关单元状态的每个时间源,
但是性能问题来了:
可以说我MediaPlayer已经获取了资源attack。
之后,我将其切换为get hit,再次切换为attack。
也许我需要以某种方式保存实例MediaPlayer并重attack用它?
我没有看到它的好方法数百次切换我的穷人MediaPlayer。
有任何想法吗?
谢谢,