public void SpawnObject()
{
MoneyManager moneyManager = FindObjectOfType<MoneyManager>();
if (moneyManager != null && moneyManager.money >= cost)
{
moneyManager.money -= cost;
Instantiate(objectToSpawn, transform.position, Quaternion.identity);
Destroy(gameObject);
}
}
private void OnMouseDown()
{
SpawnObject();
}
}
Что делать если объект с этим скриптом спавнится на сцене и скрипт не работает, как изменить скрипт?
Скрипт "не работает" это слишком обобщенно. Наверное ты хотел сказать, что когда кликаешь мышкой на объект, то не вызывается метод SpawnObject?
Он вызывается но только когда скрипт есть на сцене изначально
А ты уверен, что создаваемый и изначально располагаемый на сцене объекты идентичны?
А я ещё плоховато разбираюсь во всем этом и поэтому не понимаю как сделать так чтобы все работало при спавне объекта с помощью Instantiate
Очень полезно будет вставлять Debug.log() в методы которые пытаешься вызвать но еще не до конца понимаешь как они работают.
Мне кажется что не находит объект с moneyManager
Может покажешь нам консоль?
Сейчас уже не могу к сожалению
Ну да, коллайдер должен обязательно быть. Проверь есть ли он и включен ли на объекте который спавнится. И добавь логирование в консоль после каждого действия. И тогда поймешь что и где у тебя не находит.
Как буду дома, сразу же проверю, го насколько я помню там коллайдер с включенным триггером был
Обсуждают сегодня