Inputs и Outputs: различия между версиями
DoBeRMaN (обсуждение | вклад) |
DoBeRMaN (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
== Обзор == | == Обзор == | ||
Энтити имеют два способа взаимодействия друг с другом: отправка "output" (вывода) или принятие "input" (ввода) другой энтити. К примеру игрок нажал на кнопку (func_button) — загорелась синяя лампочка (light); то есть кнопка послала сигнал "аутпут", для лампочки это будет "инпут" ввод — получаемый сигнал. Один аутпут может быть использован для активации нескольких объектов, то есть породить несколько инпутов. Правильно настроенный аутпут объединяется с инпутом в "соединение" которое передаёт дополнительные параметры приёмнику, какова задержка перед тем как отправить аутпут и должен ли будт аутпут послан позже. Аутпут может быть послан любому инпуту и наоборот. Это позволяет создавать сложные и мощьные взаимодействия между энтитями. | Энтити имеют два способа взаимодействия друг с другом: отправка "output" (вывода) или принятие "input" (ввода) другой энтити. К примеру игрок нажал на кнопку (func_button) — загорелась синяя лампочка (light); то есть кнопка послала сигнал "аутпут", для лампочки это будет "инпут" ввод — получаемый сигнал. Один аутпут может быть использован для активации нескольких объектов, то есть породить несколько инпутов. Правильно настроенный аутпут объединяется с инпутом в "соединение" которое передаёт дополнительные параметры приёмнику, какова задержка перед тем как отправить аутпут и должен ли будт аутпут послан позже. Аутпут может быть послан любому инпуту и наоборот. Это позволяет создавать сложные и мощьные взаимодействия между энтитями. | ||
− | <p>Как пример [http://developer.valvesoftware.com/wiki/Logic_timer logic_timer] может послать ''OnTimer'' аутпут .</p> | + | <p>Как пример [http://developer.valvesoftware.com/wiki/Logic_timer logic_timer] может послать ''OnTimer'' аутпут, когда истечёт время указанное в таймере. Этот же аутпут может быть направлен — ''Show'' инпуту [http://developer.valvesoftware.com/wiki/Env_sprite спрайта] который станет видимым когда истечёт время. Так же этот аутпут может быть послан ''SparkOnce'' инпуту какого-нибудь [http://developer.valvesoftware.com/wiki/Env_spark env_spark] росле чего он выпустит искры. Используя параметры соединения вы можете задать задержку перед отправкой аутпута или послать его только один раз.</p> |
+ | <p>Для пользователей знакомых с системой взаимодействия энтити первой Half-Life, параметры ''targetname'' и ''target'' теперь устарели и стали подмножеством системы I/O. [http://developer.valvesoftware.com/wiki/Trigger_multiple Trigger_multiple] который мог раньше посылать только однотипный сигнал, теперь имеет несколько вариантов: ''OnStartTouch, OnEndTouch, OnTouch'' и т.д. Эти аутпуты могут быть подключены к любому числу энтити и иметь персональные настройки соединения (Delay, Fire once only), использование мульти-менеджеров устарело, теперь они стали частью системы I/O. Параметр ''killtarget'' теперь заменён ''Kill'' инпутом.</p> |
Версия 14:17, 15 мая 2009
Логическая система Ввода/Вывода (Inputs/Outputs) взаимодействия объектов в игре очень полезная особенность игрового движка Source.
Обзор
Энтити имеют два способа взаимодействия друг с другом: отправка "output" (вывода) или принятие "input" (ввода) другой энтити. К примеру игрок нажал на кнопку (func_button) — загорелась синяя лампочка (light); то есть кнопка послала сигнал "аутпут", для лампочки это будет "инпут" ввод — получаемый сигнал. Один аутпут может быть использован для активации нескольких объектов, то есть породить несколько инпутов. Правильно настроенный аутпут объединяется с инпутом в "соединение" которое передаёт дополнительные параметры приёмнику, какова задержка перед тем как отправить аутпут и должен ли будт аутпут послан позже. Аутпут может быть послан любому инпуту и наоборот. Это позволяет создавать сложные и мощьные взаимодействия между энтитями.
Как пример logic_timer может послать OnTimer аутпут, когда истечёт время указанное в таймере. Этот же аутпут может быть направлен — Show инпуту спрайта который станет видимым когда истечёт время. Так же этот аутпут может быть послан SparkOnce инпуту какого-нибудь env_spark росле чего он выпустит искры. Используя параметры соединения вы можете задать задержку перед отправкой аутпута или послать его только один раз.
Для пользователей знакомых с системой взаимодействия энтити первой Half-Life, параметры targetname и target теперь устарели и стали подмножеством системы I/O. Trigger_multiple который мог раньше посылать только однотипный сигнал, теперь имеет несколько вариантов: OnStartTouch, OnEndTouch, OnTouch и т.д. Эти аутпуты могут быть подключены к любому числу энтити и иметь персональные настройки соединения (Delay, Fire once only), использование мульти-менеджеров устарело, теперь они стали частью системы I/O. Параметр killtarget теперь заменён Kill инпутом.