Доступ к переменным в клонах

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Доступ к переменным в клонах

Сообщение Olean 15 авг 2011, 23:31

Такой вопрос.
Я создаю рандомно объекты - астероиды.
Как потом получить у их переменных доступ, если они все имеют одинаковое имя?
Синтаксис:
Используется java
var DestrSkript = GameObject.Find("Aster_prefab(Clone)").GetComponent("Object_destroy");
DestrSkript.life=x+y+z;
 

Когда я устанавливаю переменную, то после создания нового объекта переменная в старом дефолтится, а в новом меняется.
Это я обшел через (полная Ж), используя rigidbody.mass как временное хранилище переменной, но дальше
снова в другом скрипте та же история.
Синтаксис:
Используется java
if( contact.otherCollider.name=="Aster_prefab(Clone)")
{var Skript = GameObject.Find(contact.otherCollider.name).GetComponent("Object_destroy");
life=life-Skript.life;
 

Пытаюсь собственно узнать с кем была коллизия, и вычесть переменную.
Rigidbody я задефолтил, чтобы не влияло на процесс, так что взять от туда содержимое перменной не могу. Да и не правильно это.

Вопрос - как получать доступ к переменным в клонированных объектах?
Olean
UNец
 
Сообщения: 4
Зарегистрирован: 12 авг 2011, 09:50

Re: Доступ к переменным в клонах

Сообщение DbIMok 15 авг 2011, 23:48

Olean писал(а):если они все имеют одинаковое имя?

почему не дать им разные имена?
Olean писал(а):Как потом получить у их переменных доступ

взять gameObject с которым столкнулись, получить с него компонент (скрипт) с переменной, прочитать значение, вызвать функцию:
Синтаксис:
Используется csharp
string name = myCollision.gameObject.GetComponent<MyScript>().someVar;
myCollision.gameObject.GetComponent<MyScript>().DieBitch();
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Доступ к переменным в клонах

Сообщение Olean 17 авг 2011, 15:56

Спасибо, получилось.

Синтаксис:
Используется java
        aster_count++;
        thingToMake.name = String.Format("{0}_{1}", thingToMake.name,aster_count);
        var DestrSkript = GameObject.Find("Aster_prefab(Clone)_"+aster_count).GetComponent("Object_destroy");
        DestrSkript.life=x+y+z*2;
 

Синтаксис:
Используется java
if (contact.otherCollider.tag=="Asteroid")//{life=0;}
{var Skript = GameObject.Find(contact.otherCollider.name).GetComponent("Object_destroy");
life=life-Skript.life;}
 
Olean
UNец
 
Сообщения: 4
Зарегистрирован: 12 авг 2011, 09:50


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 20