У меня есть вопрос по моему коду.Теперь я создаю текстовый интерфейс для отображения на экране после столкновения, а также хочу, чтобы текст исчез через 2 секунды, чтобы после другого нового столкновения он мог появиться снова.Итак, как я могу сделать таймер, чтобы получить эту функцию?Большое спасибо!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CollisionWithPlayer : MonoBehaviour
{
int score;
// Start is called before the first frame update
void Start()
{
score = 0;
GameObject.Find("message").GetComponent<Text>().text ="";
GameObject.Find("collect").GetComponent<Text>().text = "";
GameObject.Find("score").GetComponent<Text>().text = "";
}
// Update is called once per frame
void Update()
{
}
void OnCollisionEnter(Collision collision)
{
print("Collided with " + collision.collider.gameObject.tag);
if (collision.collider.gameObject.tag == "pick_me")
{
GameObject.Find("collect").GetComponent<Text>().text = "You have collected an object!";
Destroy(collision.collider.gameObject);
//yield return new WaitForSeconds(2);
//Destroy(GameObject.Find("collect"));
score++;
GameObject.Find("score").GetComponent<Text>().text = "score = " + score;
print("Score " + score);
}
if (collision.collider.gameObject.name == "end" && score == 4)
{
print("Congratulations!");
GameObject.Find("message").GetComponent<Text>().text = "Congratulations!";
}
}
}
В моем коде у меня 4 шарика, принадлежащих «pick_me». И я хочу текст «Вы собрали объект!»появляются в тот момент, когда игрок сталкивается с мячом, затем исчезают через 2 секунды, в следующий раз, когда игрок сталкивается с другим мячом, снова появляется текст.Так что я могу сделать?