unity音量设置(同时设置到多个物体上)——引伸语言设置

时间:2021-01-04 05:04:32

在游戏中游戏设置是一个很重要的功能,但是比如语言设置和音量设置分散在很多个物体的组件上,如果每个对应的物体都放到一个链表里,会导致程序雍总难堪,使用事件调用是最好的方式

音量存储类

SoundManager{

float soundValue;

void SetSound(value);

}

设置类,其方法主要在场景中被调用,例如点击按钮时候被调用,设置声音语言等

GameSet{

//在start中获取SoundManager

event t;

void SetSound(value){//设置音量

soundManager.SetSound(value);

调用t;//调用t是多个声音物体的音量设置程序的相加,调用t,即可设置音量的同时,将音量设置到每个带有声音的物体上

}

}

声音贴附类,用于直接在某个声音物体上设置声音

SoundObsever{

start(){

//获取soundManager和声音组件,以及GameSet

//设置声音值

gameSet.t=gameSet.t+SetSound      //(写错了?忘了,这是随笔)最重要一点,将事件添加到gameSet中,如果是在同一个场景中,设置音量,那么里就可以实时的将声音的音量传递到每个声音组件上

}

void SetSound();//将SoundManager的声音值设置到贴附的物体上的声音组件上

}

当然可以在update中实时更新声音音量,但是这很浪费资源