当我添加EndGame(); 游戏结束时声音停止播放。 如果我删除该功能,声音播放正常。 我尝试将gover.Play添加到EndGame,但这也不起作用。 对于我为什么会这样做,这个错误对我来说真的没有意义。 在编辑器和实时设备上都会发生。
谢谢。
这是我的代码:
Update() {
if (Input.GetMouseButtonDown(0))
{
}
else
{
AudioSource[] aSources = GetComponents<AudioSource> ();
perfecthit = aSources [0]; // Works
gover = aSources [1]; // Works without EndGame()
miss = aSources [2]; // Works
gover.Play ();
EndGame ();// Adding this makes gover.Play stop working
}
}
private void EndGame()
{
Social.ReportScore (scoreCount, "--", (bool success) => {
//SUCCESS or FAIL
});
PlayerPrefs.SetInt("byte", PlayerPrefs.GetInt("byte") + scoreCount / 2);
if (PlayerPrefs.GetInt ("score") < scoreCount)
PlayerPrefs.SetInt ("score", scoreCount);
gameOver = true;
endPanel.SetActive (true);
theStack[stackIndex].AddComponent<Rigidbody>();
stack.SetActive (false);
demoObj.SetActive (true);
}
答案 0 :(得分:1)
我假设由于AudioSource
不再可用而停止播放。
在EndGame()
内设置stack.SetActive (false);
。如果此AudioSource
附加到对象,则它将不再可用。特别是考虑到你每秒至少重新获得AudioSources
次!{/ p>
有了这个,我还建议你将你的音频逻辑移到Update之外,并考虑使用Start, or awake而不是