Страница 2 из 3

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 25 мар 2012, 13:38
Receptor
alexsilent писал(а):А еще:
Есть ли резкая остановка продолжения скрипта/поведения? Что-то вроде STOP


Синтаксис:
Используется csharp
gameObject.GetComponent("ScriptName").enabled = false;


как-то так. А вообще в [unity 3D] все есть и больше чем в БлитцМаксе. (popcorn1)

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 25 мар 2012, 13:42
Neodrop
Самое смешное, что есть ещё и другие варианты. (popcorn1)

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 25 мар 2012, 14:16
alexsilent
Receptor писал(а):
Синтаксис:
Используется csharp
gameObject.GetComponent("ScriptName").enabled = false;


как-то так. А вообще в [unity 3D] все есть и больше чем в БлитцМаксе. (popcorn1)


Спасибо большое! Буду знать, как отключается скрипт! Это полезно! :ymparty:
А остановить скрипт, не отключая его, в документации на слово Stop много чего вылезло, но кажется все не то.
Вроде прерывания выполнения скрипта до следующего обращения к нему.

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 25 мар 2012, 16:21
DbIMok

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 25 мар 2012, 16:36
Neodrop
Хм, Дымок, а какое отношение Blitz имеет к Stencyl ? :-?

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 25 мар 2012, 16:41
alexsilent
Neodrop писал(а):Хм, Дымок, а какое отношение Blitz имеет к Stencyl ? :-?

Ну я еще и на BlitzMax-е раньше работал ^_^' Это пригодится.

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 25 мар 2012, 16:43
alexsilent


Спасибо большое! Это очень классно! У меня только немного странно открывает на Хроме, иногда загружает страницу вместо того чтобы открыть.
Попробую другим браузером.

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 20 апр 2012, 12:25
xcube
Ответ про глобальные переменные от Левш@ хорошо бы в фак добавить - очень полезная инфа !

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 20 апр 2012, 13:03
seaman
В FAQ этот вопрос и ответ на него - первый.

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 20 апр 2012, 14:17
xcube
seaman писал(а):В FAQ этот вопрос и ответ на него - первый.

На странице FAQ в фаерфоксе ввел в поиск "глобал" ничего не находит )
Теперь вижу что есть такая тема, но Левш@ дал очень хороший ответ именно про глобальные переменные... хотя бы ссылку на его пост добавить :-\

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 03 июн 2012, 18:13
2rusbekov
Левш@ писал(а):
Например глобальные переменные они инициализируются только через поведение прикрепленное к какому-то объекту в сцене, а не исчезнут ли они когда сцена удалится? Они так и называются Global?

Есть разные способы иметь глобальные переменные.
Можно просто обьявить:
Синтаксис:
Используется javascript
static var glVar_0 : int = 0;

Обратиться к такой переменной можно из любого скрипта:
Синтаксис:
Используется javascript
ИмяCкрипта.glVar_0 = 10;

Можно просто получить ссылку на сам скрипт и заиметь доступ вообще ко всем его переменным (и функциям), кроме private var.
Синтаксис:
Используется javascript
var script = gameObject.Find("ИмяОбьекта").GetComponent("ИмяСкрипта");
script.glVar_0 = 55;


Тут есть моя статья для нубов, легким языком и подробно: http://gamecreatingcommunity.ru/forum/186-2694-1 :)

А чтоб они не исчезли при переходе на другую сцену, скрипт можно повесить на обьект которому можно запретить удаление - DontDestroy.
Синтаксис:
Используется javascript
function Awake () {
    DontDestroyOnLoad (transform.gameObject);
}



Такая проблема. Скрипты контролирует #Прагма стрикт.
Обращаюсь к переменным так:
Синтаксис:
Используется javascript
ИмяCкрипта.glVar_0 = 10;

А так не получается:
Синтаксис:
Используется javascript
var script = gameObject.Find("ИмяОбьекта").GetComponent("ИмяСкрипта");
script.glVar_0 = 55;

Если у меня много объектов одинаковых. И на всех скрипты с одинаковыми именами получается. Как мне обратиться к скрипту нужного объекта?
до этого делал так: создавал массив этих объектов и пропускал через цикл. скрипт называется так же как и имя объекта.
Синтаксис:
Используется javascript
var index = go[i].GetComponent(go[i].name).index;
//тут работал с индексом и так же с другими его компонентами

Сейчас так уже не получается. Как мне быть?

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 03 июн 2012, 19:41
2rusbekov
И еще не могу обратиться к трансформу объекта. выдает ошибку Assets/Pack/Scripts/Script.js(72,51): BCE0020: An instance of type 'UnityEngine.Component' is required to access non static member 'transform'.

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 04 июн 2012, 02:33
Neodrop
Очень важно!

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

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 04 июн 2012, 09:26
Левш@
Глобалки ведь для того и используются обычно, чтоб переносить свои общеигровые значения между сцен.
По идее они и не должны обнуляться, иначе какой в них смысл.
Но замечание верное, для *умельцев*. :)

Re: Переход со Stencyl на Unity3D

СообщениеДобавлено: 05 июн 2012, 13:18
2rusbekov
А мне поможет кто нибудь?