Version: 2021.3
言語: 日本語
Handle events
イベントの参照

Synthesizing events

カスタムイベントを統合して送信する前に、UI Toolkit のイベントシステムがオペレーティングシステムのイベントをどのように割り当てて送信するかを理解しておく必要があります。

イベントシステムはイベントオブジェクトの割り当ての繰り返しを避けるためにイベントのプールを使用します。イベントを統合して送信するには、以下の手順でイベントを割り当てて送信する必要があります。

  1. イベントのプールからイベントオブジェクトを取得します。
  2. イベントプロパティを入力します。
  3. イベントを using ブロックで囲み、イベントプールに確実に返却されるようにします。
  4. イベントを element.SendEvent() に渡します。

キーボードイベントやマウスイベントなど、オペレーティングシステムから来るイベントを送信したい場合は、UnityEngine.Event を使用して UI Toolkit イベントを初期化します。

次の例は、イベントを統合して送信する方法を示しています。

void SynthesizeAndSendKeyDownEvent(IPanel panel, KeyCode code,
     char character = '\0', EventModifiers modifiers = EventModifiers.None)
{
    // UnityEngine.Event を作成し初期化データを維持します。
    // また、このイベントは IMGUIContainer.m_OnGUIHandler に送信されます。
    var evt = new Event() {
        type = EventType.KeyDownEvent,
        keyCode = code,
        character = character,
        modifiers = modifiers
    };

    using (KeyDownEvent keyDownEvent = KeyDownEvent.GetPooled(evt))
    {
        panel.SendEvent(keyDownEvent);
    }
}


  • 2018–11–02 修正されたページ
Handle events
イベントの参照
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961