Я все со своими яблоками, будь они не ладны! Да они и так не ладны...
По книге упало яблоко в корзину и уничтожилось, далее подсчет очков и все такое.
Но хочется добавить задержку яблока в корзине, что бы была видимость собирательства.
Вот код, отвечающий за уничтожение яблок в корзине (далее подсчет очков будет):
Синтаксис:
Используется csharp
void OnCollisionEnter(Collision coll){
GameObject collidedWith = coll.gameObject;
switch (collidedWith.tag)
{
case "green":
Debug.Log("green");
Destroy(collidedWith);
break;
case "yellow":
Debug.Log("yellow");
Destroy(collidedWith);
break;
case "red":
Debug.Log("red");
Destroy(collidedWith);
break;
case "bad":
Debug.Log("bad");
Destroy(collidedWith);
break;
}
GameObject collidedWith = coll.gameObject;
switch (collidedWith.tag)
{
case "green":
Debug.Log("green");
Destroy(collidedWith);
break;
case "yellow":
Debug.Log("yellow");
Destroy(collidedWith);
break;
case "red":
Debug.Log("red");
Destroy(collidedWith);
break;
case "bad":
Debug.Log("bad");
Destroy(collidedWith);
break;
}
Как я понимаю
Синтаксис:
Используется csharp
GameObject collidedWith = coll.gameObject;
coll.gameObject - это коллайдер того объекта, который столкнулся с корзиной.
Задержка делается через Coroutine, как я понял.
Допустим, можно как то так:
Синтаксис:
Используется csharp
IEnumerator Dest(tada){
Destroy(tada);
yield;
}
void OnCollisionEnter(Collision coll){
GameObject collidedWith = coll.gameObject;
switch (collidedWith.tag)
{
case "green":
Debug.Log("green");
StartCoroutine(Dest(tada), 1f);
break;
.....
}
Destroy(tada);
yield;
}
void OnCollisionEnter(Collision coll){
GameObject collidedWith = coll.gameObject;
switch (collidedWith.tag)
{
case "green":
Debug.Log("green");
StartCoroutine(Dest(tada), 1f);
break;
.....
}
Как мне в место tada передать в Coroutine coll.gameObject?
Или я как то не туда мыслю, можно как то еще делать?
Благодарю за внимание!