Пятница, 29 Марта 2024, 17:05

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как выполнить действие, после уничножения объекта (Мне нужно, чтобы после уничтожения объекта выполнялось дейст)
Как выполнить действие, после уничножения объекта
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().

Спасибо! Долго думал, а оказывается так просто.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как выполнить действие, после уничножения объекта (Мне нужно, чтобы после уничтожения объекта выполнялось дейст)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг