UE4-注 - 一般的なロジック機能の例としては、達成するために

心の中で共通の機能のいくつかの例その実装。

 

(などをダブルクリック/ダブルジャンプに適用され、ビルドアップW)Q.ダブルアナログ:

検索を維持するためにも位置付けC ++、BPに実装= _ =推奨

BP:

マクロ:

 

C ++の実装:

---------- 割割割 -----------

.hファイル:

UENUM(BlueprintType)
 列挙 クラスEM_ClickType:UINT8 
{ 
    EM_FisrtClick UMETA(表示名 = " FisrtClick " )、
    EM_DoubleClick UMETA(表示名 = " DoubleClickの" 
}。

UCLASS()
クラス UBPLibrary_CommonDemonstrate:公共UBlueprintFunctionLibrary 
{ 
    GENERATED_BODY()
パブリック
    UFUNCTION(BlueprintCallable、メタ =(DeterminesOutputType = " actorClass " ))
         静的EM_ClickTypeのDoubleClick()。
}。

 

cppのファイル:

EM_ClickType UCppBPLibrary_CommonDemonstrate ::のDoubleClick()
{ 
    静的 ブール bReadyOnce = もし(bReadyOnce)
    { 
        bReadyOnce = 返す   EM_ClickType :: EM_DoubleClickを。// ダブルクリック
    }
     
    { 
        bReadyOnce = ; 
        TFuture < 空洞 >将来=非同期< 空洞 >(EAsyncExecution :: TaskGraph、[= ] 
        { 
            FPlatformProcess ::スリープ(0.25);
            もし(bReadyOnce)
            { 
                bReadyOnce = 返します
            } 
        })。

        返す   EM_ClickType :: EM_FisrtClickを。// 最初のクリック
    } 
}

 

使用します。

 

おすすめ

転載: www.cnblogs.com/linqing/p/11226415.html