Trigger
A trigger is a zero-sized node that has no visual representation and fires callbacks when: trigger - это узел нулевого размера, который не имеет визуального представления и запускает функции обратного вызова, когда:
- It is enabled/disabled (an enabled callback function is called).Он включен / отключен (вызывается функция обратного вызова enabled).
- Its transformation is changed (a position callback function is called).Его преобразование изменено (вызывается функция обратного вызова position).
A Node Trigger is usually added as a child node to another node, so that the callbacks will be fired on the parent node enabling/disabling or transforming.Node Trigger обычно добавляется как дочерний узел к другому узлу, так что функции обратного вызова будут запускаться на родительском узле, включающем / отключающем или преобразующем.
The Node Trigger can work with procedurally created World Clutter objects.Node Trigger может работать с процедурно созданными объектами World Clutter.
The Node Trigger can be used, for example, to play a sound of thunder when a lightning flashes: when the lightning node is enabled, the enabled callback function that plays a sound is called.Node Trigger может использоваться, например, для воспроизведения звука грома при вспышке молнии: когда включен узел молнии, вызывается функция обратного вызова enabled, которая воспроизводит звук.
See alsoСмотрите также#
- The NodeTrigger class to edit triggers via APIКласс NodeTrigger для редактирования триггеров через API
- Videotutorial on How To Use Node Triggers to Detect Changes in Node StatesВидеоурок Как использовать Node Trigger для обнаружения изменений в состоянии объекта
Adding a Node TriggerДобавление Node Trigger#
To add a new Node Trigger via UnigineEditor do the following:Чтобы добавить новый Node Trigger через UnigineEditor, сделайте следующее:
- Run UnigineEditor.Запустить UnigineEditor.
- On the Menu bar, click Create -> Logic -> Node Trigger.
- Place the Node Trigger in the world.
Поместите Node Trigger в мир.
- Add the Node Trigger as a child to a node for which callbacks should be fired: select the Node Trigger in the World Nodes Hierarchy window and drag it inside the required node.
Добавьте Node Trigger в качестве дочернего к узлу, для которого должны запускаться функции обратного вызова: выберите Node Trigger в окне World Nodes Hierarchy и перетащите его внутрь требуемого узла.
Editing a Node TriggerРедактирование Node Trigger#
To edit the Node Trigger, select it and go to the Node tab of the Parameters window.Чтобы отредактировать Node Trigger, выберите его и перейдите на вкладку Node окна Parameters.
Setting Up CallbacksНастройка обратных вызовов#
To add enabled/disabled or position callback, write a callback function that receives at least 1 argument of the NodeTrigger type. Then use use addEnabledCallback() / addPositionCallback() to specify the function to be called. See other methods of editing Node Trigger callbacks here.Чтобы добавить обратный вызов enabled/disabled или position, напишите функцию обратного вызова, которая получает как минимум 1 аргумента типа NodeTrigger. Затем используйте addEnabledCallback() / addPositionCallback(), чтобы указать вызываемую функцию. См. Другие методы редактирования обратных вызовов Node Trigger здесь .
// add the enabled and position callbacks
nodeTrigger->addEnabledCallback(MakeCallback(this, &enabled_callback));
nodeTrigger->addPositionCallback(MakeCallback(this, &position_callback));
// add the enabled and position callbacks
nodeTrigger.AddEnabledCallback(enabled_callback);
nodeTrigger.AddPositionCallback(position_callback);