想给UNITY里面 加一个移动就播放声音的脚本,如何控制这个声音的开和关 20
展开全部
移动的话就意味着有按键事件(假设是W),停下来的话就意味着没有任何按键
if(Input.GetKey (KeyCode.W) && !audio.isPlaying) //有移动键按下并且声音并不是播放状态
{
audio.Play(); //播放声音
}
if(!Input.anyKey && audio.isPlaying) //没有任何键按下并且声音是播放状态
{
audio.stop(); //停止播放声音
}
if(Input.GetKey (KeyCode.W) && !audio.isPlaying) //有移动键按下并且声音并不是播放状态
{
audio.Play(); //播放声音
}
if(!Input.anyKey && audio.isPlaying) //没有任何键按下并且声音是播放状态
{
audio.stop(); //停止播放声音
}
追问
大神,我是在unity里面的第一人称脚本上加的声音控制,这个脚本可行么? 我JAVA不是很懂,!是比较什么意思 求解释 感激不尽
追答
这个脚本肯定不能直接挂上去用,这只是一个思路,第一个if:判断你是否按下了移动键,可以把你设定的所有移动键都加进去(WASD什么的),如果有相关按键按下(Input.GetKey (KeyCode.W)
为真),并且你按下移动键的时候声音没有播放(!audio.isPlaying为真),那么就播放声音(第二个条件用来防止你按住移动键的时候此循环连续执行);
第二个if:当没有任何按键事件的时候(!Input.anyKey为真),并且声音依旧在播放(audio.isPlaying)为真,那么就停止播放声音。(audio是你的AudioSource脚本的引用)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询