gpt4 book ai didi

audio - 声音不会在特定时间统一播放

转载 作者:行者123 更新时间:2023-12-03 00:40:16 26 4
gpt4 key购买 nike

我正在尝试用定时器3、2、1播放声音。

我的计时器从十点开始,有三秒钟的延迟。如果我使用以下代码:

    if (tl.myCoolTimer == 10)
{
print("Play Sound");
myAudioSource.Play();
}

它会反复播放“哔哔”声,直到游戏开始并且计数器降到10以下。

如果我使用代码:
    if (tl.myCoolTimer == 3)
{
print("Play Sound");
myAudioSource.Play();
}

它根本不播放声音。它甚至不打印打印语句。

我实际上只是更改了号码。我不确定为什么这行不通。

我也尝试将其设置为3f,以查看是否为 float 问题。

计时器脚本

这是启动计时器。倒数到3(然后游戏开始)
public Text startGameTimerText;

public float startGameTimer = 3;

public void Start ()
{
startGameTimerText = GetComponent<Text> ();
}


public void Update ()
{

startGameTimer -= Time.deltaTime;
startGameTimerText.text = startGameTimer.ToString ("f1");

if (startGameTimer < 0) {
GameObject.Find ("GameStartTimer").SetActive (false);
}

}

这是游戏计时器,它从10开始,倒数至0。
public StartGameTimer gt;  //this is the script the other timer is on

public Text timerText;

public float myCoolTimer = 10;

public void Start ()
{
timerText = GetComponent<Text> ();
}

public void Update ()
{
if (gt.startGameTimer > 0) {
myCoolTimer = 10;
} else {
myCoolTimer -= Time.deltaTime;
timerText.text = myCoolTimer.ToString ("f1");
}
}

最佳答案

谢谢乔的帮助。这是我的最终答案。我知道它已经被黑客入侵,但是我还没有弄清楚Invoke的事情。当我将其设置为“no”时,它将一直播放“3”,因此我只需要使其播放一次即可。

private AudioSource myAudioSource;
public bool isSoundPlayed;

void Start()
{
myAudioSource = GetComponent<AudioSource>();
isSoundPlayed = false;
}

void Update()
{
if((int)tl.myCoolTimer == 3)
{
if (isSoundPlayed == false)
{
myAudioSource.Play();
isSoundPlayed = true;
}
return;
}
if ((int)tl.myCoolTimer == 2)
{
if (isSoundPlayed == true)
{
myAudioSource.Play();
isSoundPlayed = false;
}
return;
}
if ((int)tl.myCoolTimer == 1)
{
if (isSoundPlayed == false)
{
myAudioSource.Play();
isSoundPlayed = true;
}
return;
}
}

关于audio - 声音不会在特定时间统一播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35239131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com