需要一些帮助。我是团结的新手。我正在创建基于火箭飞船的游戏,并将音频文件附加到我的火箭飞船上。甚至编写了代码来在按下特定按钮时播放。
直到昨天,它似乎还可以正常工作,但是由于某些原因,今天当我玩游戏时不再播放音频。我看过文章和看过视频,但似乎没有帮助。
我已经尝试了几件事,从取消附加和重新附加音频文件到重写代码。
public AudioSource audioSource;
public void Thrust()
{
float rotationThisFrame = rcsThrust * Time.deltaTime;
if (Input.GetKey(KeyCode.W))
{
rigidBody.AddRelativeForce(Vector3.up * rotationThisFrame);
if (!audioSource.isPlaying)
audioSource.Play();
else
audioSource.Stop();
}
}
答案 0 :(得分:2)
你在做
if (!audioSource.isPlaying)
audioSource.Play();
else
audioSource.Stop();
因此,如果audioSource
在玩,您就Stop
去玩!您基本上是交替地打开和关闭声音,每帧,所以您总是只“听到”一帧声音,然后从音频文件的开头开始。
您可能会建议将else
大小写添加到周围的密钥检查中,例如
if (Input.GetKey(KeyCode.W))
{
rigidBody.AddRelativeForce(Vector3.up * rotationThisFrame);
if (!audioSource.isPlaying)
audioSource.Play();
}
else
{
audioSource.Stop();
}
假设课程audioSource
是参考,clip
现在设置为Play
,同时按住 W 键和Stop
当不按住 W 键时。