Пятница, 29 Марта 2024, 16:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как отключать скрипты? [РЕШЕНО] (можно как-то конвертировать String в название класса?)
Как отключать скрипты? [РЕШЕНО]
alexsilentДата: Среда, 29 Апреля 2015, 12:10 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Как отключать скрипты?
мне пишут 'enabled' is not a member of 'UnityEngine.Component'.

Пишу на ява скрипте

Код
GetComponent("MyScript").enabled = false;


Почему-то enabled не работает в GetComponent :< Ну хорошо допустим, я не нашёл в документации в GetComponent - enabled.
Но в Behaviour эта штука есть, как добраться до поведения, чтоб его отключать и включать?

Добавлено (29 апреля 2015, 12:10)
---------------------------------------------
Хорошо, вот так работает:
Код
GetComponent(MyScript).enabled = false;


без кавычек...
и это одновременно плохо, ибо я хотел бы искать название поведения по переменной String,
получить это поведение, и провести свои манипуляции, в данном случае отключить и включить.
Это вообще реально?


Сообщение отредактировал alexsilent - Среда, 29 Апреля 2015, 14:59
PATCH1Дата: Среда, 29 Апреля 2015, 12:35 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
че то у вас не так работает как надо))

пример №2

ccылка
alexsilentДата: Среда, 29 Апреля 2015, 12:47 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Цитата PATCH1 ()
че то у вас не так работает как надо))

пример №2

ccылка

к сожалению тут по ссылке нет примера с enabled, с остальными переменными работает всё нормально, как ни странно

или у меня руки не из того теста растут, проверю ещё раз

Добавлено (29 апреля 2015, 12:47)
---------------------------------------------
Всё разобрался, в примерах указано название класса HingeJoint без кавычек,
в этом то и проблема, а мне нужно указать любой скрипт с помощью переменной String, а не какой-то конкретный, статический класс.

В идеале я хочу чтобы было вот так:
Код
var MyScript : String = "имя моего скрипта";
GetComponent(MyScript).enabled = false;


Можно как-то конвертировать String в название класса?


Сообщение отредактировал alexsilent - Среда, 29 Апреля 2015, 12:50
KolyanДата: Среда, 29 Апреля 2015, 13:58 | Сообщение # 4
был не раз
Сейчас нет на сайте
А что мешает присвоить значение GetComponent("MyScript") переменной и уже через нее отключить?

Сообщение отредактировал Kolyan - Среда, 29 Апреля 2015, 13:59
seamanДата: Среда, 29 Апреля 2015, 14:43 | Сообщение # 5
старожил
Сейчас нет на сайте
Вы что-нибудь слышали о наследовании? В Component НЕТ enabled, он появляется только в Behaviour, который унаследован от Component.
Приводите полученный компонент к Behaviour, прежде чем использовать его переменные.
(GetComponent("MyScript") as Behaviour).enabled = false;
alexsilentДата: Среда, 29 Апреля 2015, 14:58 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Цитата seaman ()
Вы что-нибудь слышали о наследовании? В Component НЕТ enabled, он появляется только в Behaviour, который унаследован от Component.
Приводите полученный компонент к Behaviour, прежде чем использовать его переменные.
(GetComponent("MyScript") as Behaviour).enabled = false;


seaman, благодарю! Это именно то, что я давно хотел узнать! Спасибо!
Тема решена!


Сообщение отредактировал alexsilent - Среда, 29 Апреля 2015, 14:59
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как отключать скрипты? [РЕШЕНО] (можно как-то конвертировать String в название класса?)
  • Страница 1 из 1
  • 1
Поиск:

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