Ciel Bleu_ 2022-10-10 15:39 采纳率: 100%
浏览 78
已结题

unity如何让游戏结束音效只播放一次

FailAudio在游戏结束时一直循环播放,以下是GameManager的脚本

img

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GameManager : MonoBehaviour
{
public CanvasGroup winBackground;
public CanvasGroup failBackground;
public float duration = 1f;
public AudioSource winAudio;
public AudioSource failAudio;
public AudioSource backgroundAudio;
public Button restartButton;
public Button quitButton;

private bool isWin = false;
private bool isFail = false;

private float passTime = 0;

private void Start()
{
restartButton.gameObject.SetActive(false);
quitButton.gameObject.SetActive(false);

}
public void Win()
{
isWin = true;
}
public void Fail()
{
isFail = true;
}
public void Update()
{
if(isWin)
{
showBackgroud(winBackground,winAudio);
}
else if(isFail)
{
showBackgroud(failBackground,failAudio);

    }

}
private void showBackgroud (CanvasGroup background, AudioSource audio)
{
passTime = passTime + Time.deltaTime;
background.alpha = passTime / duration;

    if(!audio.isPlaying)
    {
        audio.Play();        
    }     
      restartButton.gameObject.SetActive(true);
      quitButton.gameObject.SetActive(true);          

}

}

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 10月18日
      • 已采纳回答 10月10日
      • 创建了问题 10月10日

      悬赏问题

      • ¥15 R语言绘制火山图对数据使用case when函数报错
      • ¥15 关于对一篇论文的统计图作图产生好奇
      • ¥15 如何使用RISC-V对斐波那契递归算法进行优化
      • ¥15 OBS 虚拟摄像头和真实摄像头区别
      • ¥15 yolov5运行detect 过程中的报错一直无法解决
      • ¥15 jsx写法 插槽不生效的问题
      • ¥15 MATLAB 调用comsol如何加速设计?
      • ¥15 echarts地图添加点击事件
      • ¥15 openpyxl库无法全部写入文本到单元格
      • ¥15 不知道带什么标题好随便搞一个吧