Команда в скрипте блокирует последующие строки

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

Команда в скрипте блокирует последующие строки

Сообщение Magnitofon 11 сен 2013, 14:18

Первая строка блокирует всё идущее после. Отключаю переменную в компоненте WeaponScript объекта AK47:

Синтаксис:
Используется javascript
GameObject.Find("AK47").GetComponent("WeaponScript").unarmed=false //или true


Нужно отключить несколько таких переменных у нескольких объектов (компонент везде "WeaponScript"), отключается и включается переменная только у объекта из первой строки, а следующие строки не работают!

Синтаксис:
Используется javascript
GameObject.Find("AK47").GetComponent("WeaponScript").unarmed=false //этот скрипт активируется
GameObject.Find("Kolt").GetComponent("WeaponScript").unarmed=false //а этот и следующие не работают.
GameObject.Find("SniperRifle").GetComponent("WeaponScript").unarmed=false


Т.е. первая строка всегда работает, а последующие не работают. При этом если поменять местами первую строку с какой-нибудь из последующих, то та, что окажется первой, начнёт работать, а остальные, включая ту, что раньше стояла первой, откажутся вообще как-либо функционировать.

P.S. Переменная Unarmed отключает функцию стрельбы, если это поможет вам определить причину.
Magnitofon
UNIт
 
Сообщения: 63
Зарегистрирован: 10 сен 2013, 16:50

Re: Команда в скрипте блокирует последующие строки

Сообщение nile 11 сен 2013, 15:51

Для начала:
GameObject.Find(---)
GetComponent(---)

В рантайме это использовать не желательно. Поиск - ресурсоемкий процесс, особенно GameObject.Find
Аватара пользователя
nile
Старожил
 
Сообщения: 848
Зарегистрирован: 25 фев 2011, 17:17

Re: Команда в скрипте блокирует последующие строки

Сообщение AMD 11 сен 2013, 19:01

Вы уверен, что данные объекты могут быть найдены в принципе?
Программист — это профессиональный конвертер галлюцинаций заказчика в жесткую формальную систему.
AMD
UNITрон
 
Сообщения: 349
Зарегистрирован: 16 июн 2012, 14:33
Откуда: Москва

Re: Команда в скрипте блокирует последующие строки

Сообщение Magnitofon 11 сен 2013, 20:23

AMD писал(а):Вы уверен, что данные объекты могут быть найдены в принципе?


Конечно, а почему нет? Первая же строка работает. Другие такие же, только название объекта сменяется. Тем более, если их поменять местами, тот, что ранее не работал, заработает, а тот, что работал, работать перестанет. И это только от перемены мест строк в коде! Будто бы первая строка всегда блокирует последующие! Будто код не читается дальше.
Magnitofon
UNIт
 
Сообщения: 63
Зарегистрирован: 10 сен 2013, 16:50

Re: Команда в скрипте блокирует последующие строки

Сообщение seaman 11 сен 2013, 21:04

Вы слышали такое слово - Debug?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Команда в скрипте блокирует последующие строки

Сообщение Diab10 12 сен 2013, 15:38

В конце каждой из строк точка с запятой стоит? ;
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: Команда в скрипте блокирует последующие строки

Сообщение Magnitofon 13 сен 2013, 11:23

Diab10 писал(а):В конце каждой из строк точка с запятой стоит? ;

Да, стоит. Вот полный код:

Синтаксис:
Используется javascript
function OnTriggerStay (Hand : Collider) {
if (Input.GetKey (KeyCode.Tab))
{
GameObject.Find("AK47").GetComponent("WeaponScript").unarmed=true;
GameObject.Find("Sniper").GetComponent("WeaponScript").unarmed=true;
GameObject.Find("M16").GetComponent("WeaponScript").unarmed=true;
GameObject.Find("Drobovik").GetComponent("WeaponScript").unarmed=true;
GameObject.Find("1911").GetComponent("WeaponScript").unarmed=true;
GameObject.Find("MK").GetComponent("WeaponScript").unarmed=true;
GameObject.Find("Pistol1").GetComponent("WeaponScript").unarmed=true;
GameObject.Find("Pistol2").GetComponent("WeaponScript").unarmed=true;
GameObject.Find("Pistol3").GetComponent("WeaponScript").unarmed=true;
}
}


seaman писал(а):Вы слышали такое слово - Debug?

Я мало что понимаю в программировании.
Magnitofon
UNIт
 
Сообщения: 63
Зарегистрирован: 10 сен 2013, 16:50

Re: Команда в скрипте блокирует последующие строки

Сообщение seaman 13 сен 2013, 12:45

Я мало что понимаю в программировании.

Нанимайте программиста.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22