3dui のクリック イベントが、新しいインターフェイスを開いて以前のインターフェイスを非表示にし、新しいインターフェイスを閉じて元のインターフェイスを表示することによって発生するバグに応答しないことについて...

75ddfb7119b1f72f80c740c9c8943a67.png

バグ

このコードをテストしたところ、正常に実行され、イベントも正常に破棄されました。イベントをバインドした後、破棄するのが正常ですが、バインド後に何か問題が発生するのはなぜですかと伝えたところ、最終的には破棄されました。可視性が有効に設定されている限り
バグが存在することがわかりました。

UENUM(BlueprintType)
enum class ESlateVisibility : uint8
{
    /** Visible and hit-testable (can interact with cursor). Default value. */
    Visible,
    /** Not visible and takes up no space in the layout (obviously not hit-testable). */
    Collapsed,
    /** Not visible but occupies layout space (obviously not hit-testable). */
    Hidden,
    /** Visible but not hit-testable (cannot interact with cursor) and children in the hierarchy (if any) are also not hit-testable. */
    HitTestInvisible UMETA(DisplayName = "Not Hit-Testable (Self & All Children)"),
    /** Visible but not hit-testable (cannot interact with cursor) and doesn't affect hit-testing on children (if any). */
    SelfHitTestInvisible UMETA(DisplayName = "Not Hit-Testable (Self Only)")
};

3dactor内のウィジェットの表示レベルを999に設定しましたが、これでは役に立ちません。

メインUIは修正しなくても問題ないのですが、表示領域が少し違うので手がかゆいので非表示にしたいのですが、表示される領域が1つしかないのですが、メインUIは頻繁に操作するので非表示にします。彼のためにそれを破壊してください。

結局、それを実現する方法は一つしかありません。

オフセットを設定(ビューポート内の位置を設定)したかっただけですが、元のオフセットを取得する方法がないことがわかりました。

おすすめ

転載: blog.csdn.net/u010042660/article/details/132018707
おすすめ