Unity 使用this关键字进行函数拓展 - AudioSource
函数 进行 Unity 关键字 this 拓展 使用
2023-09-27 14:19:56 时间
Example:
var audioSource = GetComponent<AudioSource>();
audioSource
.SetClip(bgm)
.SetVolume(0.5f)
.SetPriority(128)
.SetPitch(1)
.SetPanStereo(0)
.SetSpatialBlend(0)
.SetPlayOnAwake(true)
.SetLoop(true)
.Play();
Extension:
using UnityEngine;
namespace SK.Framework
{
/// <summary>
/// 音源相关拓展
/// </summary>
public static class AudioSourceExtension
{
/// <summary>
/// 播放音频
/// </summary>
/// <param name="source">音源</param>
/// <param name="clip">音频</param>
/// <returns>音源</returns>
public static AudioSource Play(this AudioSource source, AudioClip clip)
{
source.clip = clip;
source.Play();
return source;
}
/// <summary>
/// 设置音频
/// </summary>
/// <param name="source">音源</param>
/// <param name="clip">音频</param>
/// <returns>音源</returns>
public static AudioSource SetClip(this AudioSource source, AudioClip clip)
{
source.clip = clip;
return source;
}
/// <summary>
/// 设置Pitch属性
/// </summary>
/// <param name="source">音源</param>
/// <param name="pitch"Pitch</param>
/// <returns>音源</returns>
public static AudioSource SetPitch(this AudioSource source, float pitch)
{
source.pitch = pitch;
return source;
}
/// <summary>
/// 设置优先级
/// </summary>
/// <param name="source">音源</param>
/// <param name="priority">优先级</param>
/// <returns>音源</returns>
public static AudioSource SetPriority(this AudioSource source, int priority)
{
source.priority = priority;
return source;
}
/// <summary>
/// 设置循环
/// </summary>
/// <param name="source">音源</param>
/// <param name="loop">是否循环</param>
/// <returns>音源</returns>
public static AudioSource SetLoop(this AudioSource source, bool loop)
{
source.loop = loop;
return source;
}
/// <summary>
/// 设置是否激活时播放
/// </summary>
/// <param name="source">音源</param>
/// <param name="playOnAwake">是否激活时播放</param>
/// <returns>音源</returns>
public static AudioSource SetPlayOnAwake(this AudioSource source, bool playOnAwake)
{
source.playOnAwake = playOnAwake;
return source;
}
/// <summary>
/// 设置音量
/// </summary>
/// <param name="source">音源</param>
/// <param name="volume">音量</param>
/// <returns>音源</returns>
public static AudioSource SetVolume(this AudioSource source, float volume)
{
source.volume = volume;
return source;
}
/// <summary>
/// 设置声道
/// </summary>
/// <param name="source">音源</param>
/// <param name="panStereo">声道</param>
/// <returns>音源</returns>
public static AudioSource SetPanStereo(this AudioSource source, float panStereo)
{
source.panStereo = panStereo;
return source;
}
/// <summary>
/// 设置空间混合
/// </summary>
/// <param name="source">音源</param>
/// <param name="spatialBlend">空间混合 0表示2D,1表示3D</param>
/// <returns>音源</returns>
public static AudioSource SetSpatialBlend(this AudioSource source, float spatialBlend)
{
source.spatialBlend = spatialBlend;
return source;
}
}
}
相关文章
- mysql中json_replace函数的使用?通过json_replace对json对象的值进行替换
- python学习系列-2-函数
- Python isinstance() 函数/Python setattr() 函数/Python getattr() 函数
- Asp.net中固定位数用零补齐的函数(已解决,示例)!
- 第109章 Caché 函数大全 $ZLASCII 函数
- 利用OpenCV的函数findContours()和函数drawContours()进行轮廓的检测与绘制
- 利用霍夫梯度法进行圆检测的原理概要及利用OpenCV的函数HoughCircles()实现霍夫梯度法圆检测的代码
- 使用AngularJS中的filterFilter函数进行过滤
- PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比
- oracle函数 last_day(d1)
- SQL 聚合函数
- 使用STL库sort函数对vector进行排序
- 使用标准模板find函数来对结构体容器进行查找
- MySQL数据库获取汉字拼音的首字母函数
- 浅析前端如何做单元测试:jest与mocha对比、如何使用jest进行单元测试及持续监听、如何生成测试覆盖率报告、常用断言方法、如何测试异步函数
- 浅析关于sql中like操作符的使用及效率问题及如何使用locate或position或instr函数进行优化
- 【Shell篇<Ⅲ>】——shell函数、字符串的处理
- python 对于任意数据和曲线进行拟合并求出函数表达式的三种方案。
- TypeScript:函数传参如何进行es6的解构赋值
- matlab笔记四(对向量进行数组运算、获取函数的多个输出)
- [Python] 函数的定义与调用