Как выполнить сопрограмму, когда пользователь нажимает на игровой объект?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как выполнить сопрограмму, когда пользователь нажимает на игровой объект?

Сообщение Anonymous »

Я пытаюсь отложить создание моего префаба, и я пытался сделать это с помощью сопрограмм. В режиме воспроизведения сначала происходило появление, а затем отображалось сообщение отладки, показывающее, что прошло 2 секунды. Итак, я пришел к выводу, что моя функция Spawn() работает и моя сопрограмма была выполнена, но в неправильном порядке. Ниже приведен код, прикрепленный к игровому объекту, который при нажатии создаст мой префаб на своем месте.

Код: Выделить всё

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EmptyScript : MonoBehaviour
{
public int id;
public GameObject camera;
Coroutine coroutine;

public IEnumerator DelaySpawn()
{
yield return new WaitForSeconds(2);
Debug.Log("2 seconds");

}

private void OnMouseDown()
{
coroutine = StartCoroutine(DelaySpawn());
camera.GetComponent().Spawn(this.gameObject, id);
}
}

Я ожидал, что появление задержится, но это не так. Спасибо, что помогли мне.

Подробнее здесь: https://stackoverflow.com/questions/784 ... gameobject
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»