【UE4/C++】宏的使用

UCLASS()
基本功能:定義UE能夠生成的映射到類的數據,該類繼承的類一定要與UObject相關。
參數擴展
  1. UCLASS(Blueprintable):這個類能夠被藍圖擴展
----------------------------------------------------------------------------------
GENERATED_BODY()
基本功能:UE4會用所有必要的庫存碼替代修飾的內容。
----------------------------------------------------------------------------------
UPROPERTY()
基本功能:定義能夠被UE垃圾回收機制自動回收的屬性變量
參數擴展:以下是官網給的例子解析
  1. UPROPERTY(EditAnywhere):用此修飾想要暴露在編輯器以便隨時編輯的變量
  2. UPROPERTY(EditAnywhere,Category="Damage"):把被修飾的屬性分類到信息面板中Damage那一欄
  3. UPROPERTY(EditAnywhere,BlueprintReadWrite,Category=“Damage”):支持藍圖對該變量的讀寫操作
  4. UPROPERTY(BlueprintReadOnly,VisibleAnywhere,Transient,Category="Damage"):支持藍圖讀操作,並在編輯器面板中可見,Transient表明不會被保存到硬盤或從硬盤加載
----------------------------------------------------------------------------------
UFUNCTION()
基本功能:定義能夠被UE識別的函數
參數擴展
  1. UFUNCTION(BlueprintCallable,Category="Damage"):表明被修飾的函數能夠被藍圖調用
  2. UFUNCTION(BlueprintImplementableEvent,Category="Damage"):允許在C++代碼中調用在藍圖中實現的函數
  3. UFUNCTION(BlueprintNativeEvent,Category="Damage"):允許在C++代碼中調用在藍圖中實現的函數,同時當藍圖中找不到該實現時,調用代碼中定義的默認函數
如:
      
	UFUNCTION(BlueprintNativeEvent, Category = "Damage")
		void CalledFromeCpp();
....
void AMyActor::CalledFromCpp_Implementation(){
	//當藍圖中找不到時候,會調用這個寫在代碼裏的函數
}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章