Я попытался написать метод, который может добавить любое количество звуков, которые будут воспроизводиться поочередно с заданным интервалом.Чередование звуков во время простоя
Но проблема в том, что он работает непоследовательно. То есть:
- звук воспроизводится перед может повторяться несколько раз через некоторое время
- нет очереди звуков, и так далее.
Я думаю, проблема в том, что int i
в цикле постоянно обновляется, поэтому приоритета нет. Но после того, как он установил чек и опустил int i
, он вообще прекратил играть.
using UnityEngine;
using System.Collections;
public class OneShot : MonoBehaviour {
public AudioClip[] Sounds;
public float Timer;
private float TimerDown;
void Start()
{
TimerDown = Timer;
audio.clip = Sounds[0];
audio.Play();
}
void Update()
{
int i;
for(i = 1;i < Sounds.Length;i++)
{
if(TimerDown > 0) TimerDown -= Time.deltaTime;
if(TimerDown < 0) TimerDown = 0;
if(TimerDown == 0)
{
TimerDown = Timer;
audio.clip = Sounds[i];
audio.Play();
}
else
{
i=i-1;
}
}
}
}
Ничего себе! Спасибо! Это работает! =))) Я продолжу преподавать C++: D –