exgdreamer 2024-01-01 16:23 采纳率: 53.3%
浏览 6
已结题

关于#unity#的问题:如何做到接近音频开启,远离音频关闭

我尝试做一个靠近物体激活image并播放音频,远离物体失活image停止音频的功能,同时我的场景中有一个挂在camera上的bgm一直在放
audiomanager(空物体)上也有一个audiosource
如果我这样写的话会导致莫名其妙的靠近关闭远离开始播放音频
以及远离时在unity其他界面点击时偶尔会播放audiomanager所指的音频

//uimanager.cs
 void Update()
    {
        //简介板
        // 计算玩家与物体之间的距离
        float distanceToPlayer = Vector3.Distance(简介板.transform.position, player.position);

        // 如果玩家接近物体并且image当前处于失活状态,则激活image
        if (distanceToPlayer < distance)
        {
            简介板.SetActive(true);
            isprint = true;
            audioManager.PlayAudio(0);        
        }
        // 如果玩家远离物体并且image当前处于激活状态,则失活image
        else if (distanceToPlayer >= distance)
        {
            简介板.SetActive(false);
            isprint = false;
            
        }
//audiomanager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AudioManager : MonoBehaviour
{
    public List<AudioClip> audioClips = new List<AudioClip>();
    public AudioSource audioSource;

    void Start()
    {
        audioSource = GetComponent<AudioSource>();
    }

    public void PlayAudio(int theNumberOfTheClipGroup)
    {  
        audioSource.clip = audioClips[theNumberOfTheClipGroup];
        audioSource.Play();
    }
    

}

)
  • 写回答

1条回答 默认 最新

  • 立刀人 2024-01-02 09:58
    关注

    控制台打印一下距离看看吧,至于第二个点击其他界面会播放,估计是你靠近播放之后就没关闭的原因

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月8日
  • 创建了问题 1月1日

悬赏问题

  • ¥200 如何使用postGis实现最短领规划?
  • ¥15 pyinstaller打包错误
  • ¥20 cesm的气溶胶排放文件
  • ¥15 逐月累计,月份不连续,补齐月份
  • ¥15 应用简单的Python代码完成一个学生成绩管理系统
  • ¥15 用matlab求微分方程初值问题
  • ¥15 vscode下编写第三方库opencv与pcl代码时没有代码提示
  • ¥15 能够跑通不报错,如何解决?(标签-matlab)
  • ¥15 MOS在RDS较大,频率高时开关波形异常
  • ¥15 SCENIC分析报错求解答