01_ue4 レビュー_インターフェース

インターフェイスの意味は、共有することです。

たとえば、同じ関数を使用する 3 つの異なるクラス

トラップは「AActor」から派生する可能性があり、敵は特殊な「APawn」または「ACharacter」サブクラスから派生する可能性があり、ポイント報酬は「UDataAsset」から派生する可能性があります。これらのクラスはすべて機能を共有する必要がありますが、「UObject」以外に共通の親はありません。この場合、インターフェースを使用することをお勧めします。

 インターフェースのタイプ

インターフェイス関数修飾子

 

 

interfaceStuday という名前のプロジェクトを作成します。

ReactToTriggerInterface という名前のインターフェイスを作成します

 

 インターフェイスで関数を定義する

class INTERFACESTUDAY_API IReactToTriggerInterface
{
	GENERATED_BODY()

		// Add interface functions to this class. This is the class that will be inherited to implement this interface.
public:
	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "lv cate")
		bool ReacterToNightNoon();

	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent, Category = "lv cate")
		bool ReacterToMidnight();
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent, Category = "lv cate")
		void FunctionASImplementableEvent();
	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "lv cate")
		void FunctionASNativeEvent();
	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "lv cate")
		void FunctionASNativeEventWithPram(int value);
};

 

ReactToTriggercppimp という名前のインターフェイスを実装するアクターを作成します。

 次に、このクラスにこのインターフェイスを継承させて実装します

最初にインターフェースのヘッダーファイルをインポートします

#include "ReactToTriggerInterface.h"

その後、彼を継承します

class INTERFACESTUDAY_API AReactToTriggercppimp : public AActor ,public IReactToTriggerInterface

 これらの機能を実装する

おすすめ

転載: blog.csdn.net/zhang2362167998/article/details/129634367