添加功能

时间:2016-09-06 05:21:06

标签: c# android unity3d

当我添加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);
    }

1 个答案:

答案 0 :(得分:1)

我假设由于AudioSource不再可用而停止播放。

EndGame()内设置stack.SetActive (false);。如果此AudioSource附加到对象,则它将不再可用。特别是考虑到你每秒至少重新获得AudioSources次!{/ p>

有了这个,我还建议你将你的音频逻辑移到Update之外,并考虑使用Start, or awake而不是