我编写了一个单元有 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
。
有任何想法吗?
谢谢,