1.需求
在unity的开发过程中,某些组件会有一些常用的操作,是unity没有集成的,这就需要我们自己来写一个方法,过程是创建一个class→new一个对象→通过对象调用方法.如:要给一个AudioSource设置一个clip并播放.
AudioSource并没有提供类似的SetClipAndPlay()的方法(当然很简单,这里只是举个例子)
public void SetClipAndPlay(string clipName)
{
AudioClip clip = Resources.Load<AudioClip>("path..."+clipName);
audio.clip = clip;
audio.Play();
}
我们可以用上面这段代码来实现,调用方法就是把脚本挂到某个物体上,然后获取这个物体的对象,然后调用对象的方法.....(巴拉巴拉..)就很麻烦.像SetClipAndPlay()的这种操作还有很多,我就想这样调用:
//播放"月亮之上.MP3",设置音量为30,然后循环播放
audioSource.SetClipAndPlay("月亮之上.MP3").SetVolume(30).SetLoop(true);
是不是简单直接,看着就很舒服!这样过程就变成了:要操作的对象.Function().Function()....
2.实现
新建一个静态类AudioSourceExtend,在里面实现需要扩展的静态方法.
public static class AudioSourceExtend {
//设置片段并播放
public sta