Version: 2018.4
言語: 日本語
イベントへの応答
イベントタイプリファレンス

イベントの統合

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

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

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

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

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

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))
    {
        UIElementsUtility.eventDispatcher.DispatchEvent(keyDownEvent, panel);
    }
}


イベントへの応答
イベントタイプリファレンス
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961