Как выполнить действие, после уничножения объекта
|
|
R00ny | Дата: Воскресенье, 02 Апреля 2017, 19:56 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Нужно, чтобы после уничтожения ObG, у меня отнималась жизнь (Переменная lives) Вот мой код:
public float timer = 0.5f; public int lives = 3; public int record;
public GameObject ObjectG; public GameObject ObjectR; public GameObject ObjectB;
void Update() { int RandNum = Random.Range (1, 100);
float addXPosG = Random.Range(-2.16f, 2.16f); float addYPosG = Random.Range(-4.25f, 4.25f);
float addXPosR = Random.Range(-2.16f, 2.16f); float addYPosR = Random.Range(-4.25f, 4.25f);
float addXPosB = Random.Range(-2.16f, 2.16f); float addYPosB = Random.Range(-4.25f, 4.25f);
Vector3 spawnPosG = transform.position + new Vector3 (addXPosG, addYPosG, 1); Vector3 spawnPosR = transform.position + new Vector3 (addXPosR, addYPosR, 1); Vector3 spawnPosB = transform.position + new Vector3 (addXPosB, addYPosB, 1);
timer -= Time.deltaTime;
if (timer <= 0) {
if (RandNum <= 70) { GameObject ObG = Instantiate (ObjectG, spawnPosG, Quaternion.identity); Destroy (ObG, 1.5f); //После этого уничтожения
}
if (RandNum > 70 && RandNum < 99) { GameObject ObR = Instantiate (ObjectR, spawnPosR, Quaternion.identity); if (ObjectR != null) { Destroy (ObR, 1.5f); } }
if (RandNum >= 99) { GameObject ObB = Instantiate (ObjectB, spawnPosB, Quaternion.identity); if (ObjectB != null) { Destroy (ObB, 1.5f); } }
timer = 0.5f; } }
|
|
| |
BrightSpot | Дата: Воскресенье, 02 Апреля 2017, 20:16 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| таймеры... все решат таймеры=)
Более мощный компьютер глючит быстрее и точнее.
|
|
| |
R00ny | Дата: Воскресенье, 02 Апреля 2017, 20:21 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| BrightSpot, Да, но как запустить таймер после появления объекта. Плюс в другом скрипте у меня написано, чтобы после того, как пользователь нажал на этот объект, он исчез. В такой случае мне не нужно, чтобы тратилась жизнь, а с таймером она будет в любом случае.
|
|
| |
BrightSpot | Дата: Среда, 05 Апреля 2017, 13:29 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| просто заведи переменную которая ведет отсчет, и по завершению отсчета удаляй+отнимай жизни... если объект будет уничтожен, то и отсчет прекратиться вместе с удалением скрипта из очереди, а если нужно "мнимое" уничтожение то при нажатии подключаемся к скрипту и сбрасываем таймер... А лучше просто подумать - будет и решение=)
Более мощный компьютер глючит быстрее и точнее.
|
|
| |
EchoIT | Дата: Среда, 05 Апреля 2017, 13:56 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| R00ny, OnDestroy().
Долгожданный анонсик: State of War
|
|
| |
BrightSpot | Дата: Среда, 05 Апреля 2017, 14:29 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| EchoIT, фак... нужно перекурить мануалы... забыл про такую мелочь=)
Более мощный компьютер глючит быстрее и точнее.
|
|
| |
R00ny | Дата: Среда, 05 Апреля 2017, 19:38 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Цитата EchoIT ( ) R00ny, OnDestroy(). Спасибо! Долго думал, а оказывается так просто.
|
|
| |