Вы хотите спрятать объект, скрыть сопрограмму, которая ждет N секунд, а затем показать.
Это C#, преобразование в Javascript должен быть простым, но я не думаю, что JS использует startCoroutine (This page в документации объясняет разницу между C# и версии JavaScript).
public bool Hide = false;
void Update()
{
if (Hide && renderer.enabled) {
renderer.enabled = false;
Hide = false;
StartCoroutine("WaitUnhide");
}
}
IEnumerator WaitUnhide()
{
yield return (new WaitForSeconds(2));
renderer.enabled = true;
}
В этой версии вы должны установить переменную 'hide' из какого-либо другого кода, чтобы начать скрывать. Hide && renderer.enabled
означает, что вы не можете запустить новую шкуру до тех пор, пока не будет завершена старая - это не единственный способ сделать это, но она избегает дублирования нескольких скрытых/скрытых объектов.
Чтобы сделать бесконечный цикл:
void Start()
{
StartCoroutine("HideUnhide");
}
IEnumerator HideUnhide()
{
while (true) {
yield return (new WaitForSeconds(2));
renderer.enabled = true;
yield return (new WaitForSeconds(2));
renderer.enabled = false;
}
}
Я хочу, чтобы он зацикливался, скрывая, скрывая, скрывая, показывая на несколько секунд. – user2992277
Спасибо большое господин theodox :) – user2992277