Unity 如何实现音频播放后的回调

2023-10-27

这里写图片描述



这里写图片描述


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

public class soundManager : MonoBehaviour {

    public static soundManager instance;
    public AudioSource ass;
    public List<AudioClip> listt = new List<AudioClip>();
    public Dictionary<string, AudioClip> dicc = new Dictionary<string, AudioClip>();
	void Start () {
		foreach(AudioClip ac in listt)
        {
            if (!dicc.ContainsKey(ac.name))
            {
                dicc.Add(ac.name, ac);
            }
        }
	}

    private void Awake()
    {
        instance = this;    }

    public void boFangShengYing(string clipName)
    {
        AudioClip kk = getClip(clipName);
        if (kk == null)
        {
            //没有找到指定域
            print("没有找到指定域; ");
        }
        else
        {
            GetComponent<AudioSource>().clip = kk;
            GetComponent<AudioSource>().Play(); 
         
        }
    }


    public void boFangShengYing(string clipName, Action mm)
    {
        AudioClip kk = getClip(clipName);
        if (kk == null)
        {
            //没有找到指定域
            print("没有找到指定域; ");
        }
        else
        {
            GetComponent<AudioSource>().clip = kk;
            GetComponent<AudioSource>().Play();item kl = new item(kk, mm);
            item jj = new item(kk, mm);
            StartCoroutine("startJiShi", jj);
        }
    }
    IEnumerator startJiShi(item ff)
    {
        yield return new WaitForSeconds(ff.clip.length);
        ff.actionn();
    }

    public AudioClip getClip(string clipName)
    {
        AudioClip pp = null;
        foreach(AudioClip ac in listt)
        {
            if (ac.name.Contains(clipName))
            {
                pp = ac;
            }
          
        }
        return pp;
    }
    class item
    {
        public AudioClip clip;
        public Action actionn;
        public item(AudioClip kk,Action nn)
        {
            clip = kk;
            actionn = nn;
        }
    }
	
	// Update is called once per frame
	void Update () {
		
	}
}



FR:海涛高软(hunk Xu)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity 如何实现音频播放后的回调 的相关文章

  • Unity用Vuforia做AR实现脱卡效果

    有时在识别目标丢失后我们仍希望虚拟物体能够出现在摄像机前 或者到一个特定的位置 我们能对其进行操作 这就是脱卡功能 自带的脱卡功能应该是ExtendedTracking 允许模型在识别图丢失的时候还存在 位置不变 在丢失的时候的位置 这样也
  • Unity—UGUI

    每日一句 读数 学习 去更远的地方 才能摆脱那些你不屑一顾的圈子 目录 InputFiled输入框 例 用户名和密码 Toggle组件 案例 冷却效果 InputFiled输入框 Text Component 输入文本组件 Text输入内容
  • Unity单元测试流程

    文章目录 环境 流程 1 创建一个存放 单元测试程序集 的目录 2 打开 Test Runner 窗口 3 选择单元测试模式 4 创建单元测试程序集 5 创建测试脚本 6 运行测试 环境 Unity 2020 3 3f1 流程 1 创建一个
  • Unity3d Terrain地形制作系列(一)

    游戏简单地形 地形制作 地形制作 第一步在场景里加载一个地形对象 第二步 我们在属性面板里找到绘制地形 然后选择Set Height 绘制高度 应该我们要制作低凹的效果 所有先让他有个高度 不然是不能实现低凹的效果 如图 我们然后选择绘制地
  • 蒙特卡洛积分、重要性采样、低差异序列

    渲染公式 渲染的目标在于计算周围环境的光线有多少从表面像素点反射到相机视口中 要计算总的反射光 每个入射方向的贡献 必须将他们在半球上相加 为入射光线 与法线 的夹角 为方便计算可以使用法线向量和入射向量 单位化 的乘积表示 对于基于图像的
  • unity网络资源导入

    1 找到需要导入的文件 这里导入fbx格式 2 打开unity界面 在Asset目录下创建文件夹FBX 将需要导入的fbx预制体或整个文件夹拖入创建的FBX文件夹下 3 选中需要的fbx预制体并拖至场景中 4 双击定位到当前物体 5 找到需
  • FBX导入Unity中模型没有材质的处理

    一 3dMax导出FBX时的注意事项 导出时 确保maps文件存在 里面放着fbx用到的image 二 在Unity中的设置 1 文件拖入Unity的Assets文件夹中 2 查看模型的材质是否存在 如下所示 材质为None 此时拖入sce
  • Unity动画控制器animator.CrossFade

    需要特别注意 1 CrossFade虽然可以不用任何逻辑来链接而直接跳转 但是CrossFade只能覆盖其他动画 当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败 造成动画依旧停在原位 参数animator Cros
  • Unity3d 插件 系列——DoTweenPro介绍(图文详细+案例)

    Unity3d 插件 系列 DoTweenPro介绍 图文详细 案例 前言 一 DoTweenPro简介 二 DoTweenPro安装 三 DoTweenPro主要组件 1 DoTweenAnimation 2 DoTweenPath 3
  • unity工程崩溃资源找回

    1 Unity死机未保存场景 当你在Unity中编辑场景 突然死机时 可以在项目文件目录中找到Temp文件夹 双击文件夹 找到 Backupscenes文件夹 把后缀为 backup的文件后缀改为 unity 然后拖进Unity的Proje
  • Unity保存图片到相册

    Unity保存图片到Android相册 Java 纯文本查看 复制代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
  • unity 性能查看工具Profiler

    文章目录 前言 profiler工具介绍 菜单栏 帧视图 模块视图 模块详细信息 通过profiler分析优化游戏性能 最后 前言 每次进行游戏优化的时候都用这个工具查看内存泄漏啊 代码优化啊之类的东西 真的好用 但是之前也就是自己摸索一下
  • unity实现鼠标右键控制视角

    主要实现的功能是相机跟随主角 鼠标右击移动后 相机的视角会旋转 思路 在主角里创建空的子物体 把相机绑在空物体上 通过旋转空物体来实现视角的旋转 要把相机调整到适当位置 代码如下 public float rotateSpeed 100 设
  • Unity旋转以及万向锁问题

    我之前研读了一些关于unity旋转相关的博客 一直想抽个时间写个总结 但是由于实习太忙一直没有写 趁着今天请了假晚上有时间把这段时间一些学习心得写出来 Unity inspector面板中的Rotation 在unity中 想必大家最先接触
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • U3D游戏开发中摇杆的制作(NGUI版)

    在PC端模拟摇杆 实现控制摇杆让玩家或者物体移动 以下是完整代码 using System Collections using System Collections Generic using UnityEngine public clas
  • 游戏开发常用实践操作之按动任意键触发

    接下来一些笔记会对于一些大大小小的实践操作进行记录 希望对你有所帮助 在游戏中 我们经常会遇到一些按动任意键触发的操作 接下来展示核心代码 以下是对于Unity中的操作 使用的UI是NGUI 对于核心操作没有影响 你可以自己置换 void

随机推荐

  • OCR-APP开发总结(一)

    一 解决删除 运行模式 布局的问题 1 直接将对应的xml部分删除 2 将 Java中MainActivity中引用对应的ID部分删除 并将运行模式的值默认 3 效果图 二 裁剪方法 方法1 android自带的crop进行裁剪 缺点 裁剪
  • Spring MVC类型转换的相关说明

    转自 Spring MVC类型转换的相关说明 下文讲采用示例的方式 讲述相关类型说明 如下所示 insert jsp页面的代码如下
  • C++ 命名空间 & 模板

    命名空间 为了区分不同库中相同名称的函数 类 变量等 引入概念 命名空间 它可作为附加信息来帮助区分它们 使用了命名空间即定义了上下文 本质上就是定义了一个范围 定义命名空间 命名空间的定义使用关键字 namespace 后跟命名空间的名称
  • python实现从零搭建图书管理系统

    学习目标 tornado入门学习 异步服务器学习 异步数据库操作 一 虚拟环境 1 1 虚拟环境的创建 mkvirtualenv tornado py3 p python3 1 2 安装tornado pip install tornado
  • QT学习(一)—— 第一个QT项目

    1 1 新建一个项目 添加项目名称 选择Qwidget类 暂时不选择Generate form那个 补充 这里介绍了一下widget mainWindow dialog三种类的关系 编译器用QT自带的 创建完毕 1 2 项目介绍 1 2 1
  • python爬取内容剔除nbsp_Python正则获取、过滤或者替换HTML标签的方法

    本文实例介绍了Python通过正则表达式获取 去除 过滤 或者替换HTML标签的几种方法 具体内容如下 python正则表达式关键内容 python正则表达式转义符 匹配除换行符以外的任意字符 w 匹配字母或数字或下划线或汉字 s 匹配任意
  • CVPR2023:BiFormer阅读笔记

    目录 前言 1 模型的特点 2 双层路由注意力机制 BRA 3 BiFormer的结构 前言 BiFormer是CVPR2023的一篇文章 文中提出自注意力机制作为Transformer的核心模块 可以帮助网络捕捉长距离上下文依赖 但是这种
  • 基于MFC-MSComm控件的PC与单片机串口通信编程

    作者 uedsr542 来源 51hei 使用工具Visual C 6 0 9针RS232串口线一条 P0口带上拉的LED的51最小系统版 打开软件 新建 gt MFC AppWizard exe 再填写工程名和路径 gt 基于对话框 不需
  • Java项目数据迁移怎么做的

    Java项目数据迁移怎么做的 1 A表到B表找字段映射 即两个不同库表先做好数据字段的对应和补齐 2 代码程序 java 做功能 从一个数据库表中读出数据 然后写到另一个数据库表中 技术历练点 多线程 使用线程池 确定核心线程池的数量 使用
  • Android沉浸式和状态栏颜色的修改

    一 前言 关于沉浸式实现的方法网上已经有很多了 但是也有点良莠不齐 在遇到实际项目中的问题之后还是需要查阅大量的博客来对问题进行查证 本博客主要是在解决沉浸式的几个问题之后 对沉浸式的一点总结方便后面再次遇到同样问题时 能够很快的查阅而不至
  • 深度优先找出图中顶点U到顶点V的所有简单路径【C/C++】

    目录 前言 步骤如下 1 对于邻接矩阵 1 1 创建邻接矩阵 1 2 初始化path数组和找到顶点U和顶点V的下标 1 3 FindPath 函数 1 4 测试结果 1 5 改进代码 感谢 果冻的光滑 的指导和帮助 2 对于邻接表 2 1
  • java消息的确认模式

    1 AUTO ACKNOWLEDGE 从消息生产者角度 发送消息后就开始阻塞 直到从消息服务器收到回复 期间如发生异常则认为消息未被传送 从消息服务器角度 非持久消息在接受到消息后通知生产者 并将消息存入内存 持久性消息在接受道消息后先存入
  • mac系统安装搭载Windows系统虚拟机方法教程

    我们都知道macOS系统虽然相对windows系统而言更稳定 但macOS系统中可使用的软件数量较windows系统而言要少很多 对于macOS系统应用少的问题 我们可以使用虚拟机来解决 那么 苹果虚拟机好用吗 整体而言是可以的 苹果虚拟机
  • excel 导出:

    导出 1 模板导出 1 所需jar
  • 【Pytorch with fastai】第 4 章 :底层训练数字分类器

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • !important的使用

    前端css样式 使用的是vue 框架 本身的 css样式中与自定义的名称重复 导致样式被覆盖 原自定义样式 修改后自定义样式 其中 import 具有优先权 提升指定样式规则的应用优先权 参考文章 https www xuebuyuan c
  • 利用ESP8266_01做一个远程控制的智能插座

    手头有一块ESP8266 01WIFI模块 是前段时间在网上买arduino套件时送的 套件中还有一个单路继电器 反正这些东西折腾完了以后也没什么用 就将网上的资料汇总了一下 做了一个远程控制的智能排插 功能非常简单 就是通过手机远程控制排
  • 在Windows上搭建Go开发环境

    Go语言是由谷歌开发的一个高性能 跨平台的编程语言 安装Go 首先先来安装一下Go语言的SDK 目前Go语言的最新版本为Go 1 8 3 Go下载页面列出了各种操作系统的安装包 如果选择Windows MSI安装包的话 会将Go安装到C G
  • 开源库源码分析:Okhttp源码分析(一)

    开源库源码分析 OkHttp源码分析 导言 接下来就要开始分析一些常用开源库的源码了 作为最常用的网络请求库 OkHttp以其强大的功能深受Android开发者的喜爱 比如说我 还有对该库进行二次封装而成的热门库 比如说Retrofit 本
  • Unity 如何实现音频播放后的回调

    using System using System Collections using System Collections Generic using UnityEngine public class soundManager MonoB