中文字幕无码a片久久,亚洲日韩在线观看浪潮,人人超人人超碰超国产二区,国产人妻久久一区二区,国产人妻久久一区二区

福感科技有限公司 歡迎您!
聯(lián)系方式

    地址:北京市平谷區(qū)馬坊鎮(zhèn)金河北街17號(hào)院3號(hào)樓7層712

    電話:010-89968230

    網(wǎng)站:http://0743119.com

UE4 C++與藍(lán)圖如何相互調(diào)用

2021-1-5 21:09:55??????點(diǎn)擊:

C++調(diào)用藍(lán)圖

右鍵c++腳本創(chuàng)建藍(lán)圖,(創(chuàng)建出來(lái)的藍(lán)圖類右上方有基于哪個(gè)C++類作為父類顯示)

1、C++類添加
UCLASS(Blueprintable ,ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) //加上Blueprintable才可以創(chuàng)建繼續(xù)這個(gè)類的藍(lán)圖類
2、右鍵創(chuàng)建基于C++腳本的藍(lán)圖類
3、(要在場(chǎng)景的物體上或者藍(lán)圖類)添加創(chuàng)建的藍(lán)圖類為組件,
4、在藍(lán)圖左邊添加函數(shù)TestFunction ,
5、C++類里面寫(xiě)
引入#include "OutPutDeviceDebug.h"
//調(diào)用藍(lán)圖里的函數(shù)   Printf 構(gòu)建一個(gè)FString
FString cmd = FString::Printf(TEXT("TestFunction ABCDEF "));//函數(shù)名字 +參數(shù),多個(gè)參數(shù)要空格
FOutputDeviceDebug device;
//FString類型加個(gè)* 轉(zhuǎn)成TChar類型
CallFunctionByNameWithArguments(*cmd,device,NULL,true);
藍(lán)圖調(diào)用C++
1、在C++類中聲明部分
public:
UFUNCTION(BlueprintCallable, Category = "MyOpenDoor")
void TestFunc(); //藍(lán)圖調(diào)用的函數(shù)
實(shí)現(xiàn)部分
  void UTestChair1::TestFunc()
{
UE_LOG(LogTemp, Warning, TEXT("This is a CPP Function"));
}
2、這個(gè)類要在藍(lán)圖中能添加為組件,所以在類的前面要寫(xiě)
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
然后把類添加到藍(lán)圖中
3、拖出到事件圖表,然后拖出函數(shù)調(diào)用
如果不做為組件,要把C++ 類拖到場(chǎng)景中,然后在場(chǎng)景藍(lán)圖,創(chuàng)建這個(gè)類對(duì)象的引用,然后調(diào)用函數(shù)
C++事件調(diào)用藍(lán)圖
1先在頭文件上面聲明一個(gè)代理,名字要以F開(kāi)頭 ,不然編譯不通過(guò)DECLARE_DYNAMIC_MULTICAST_DELEGATE(FTestRequest);
2聲明一個(gè)代理變量
public
UPROPERTY(BlueprintAssignable)  //一定要加,不然在藍(lán)圖里面找不到
FTestRequest OnTestRequest;
3 在要調(diào)用的地方寫(xiě)
  OnTestRequest.Broadcast(); //調(diào)用藍(lán)圖響應(yīng)的事件
4把C++ 類添加到藍(lán)圖中
5最后要在藍(lán)圖類中,選中C++類組件,在事件圖表中右鍵為物體添加事件-在事件調(diào)度器 里面選擇OnTestRequest ,在拖出Print打印測(cè)試
C++類聲明事件,子類藍(lán)圖實(shí)現(xiàn)
1 創(chuàng)建一個(gè)C++ 類,聲明事件
    UFUNCTION(BluePrintImplementableEvent)
    void  DebugTest();
創(chuàng)建基于這個(gè)類的藍(lán)圖,藍(lán)圖右鍵找到事件DebugTest  進(jìn)行實(shí)現(xiàn)
在C++類里面 調(diào)用的地方,寫(xiě)DebugTest();
C++ 調(diào)用藍(lán)圖里的函數(shù),藍(lán)圖類繼承C++ 類
1 在代碼聲明
//要調(diào)用的藍(lán)圖里的函數(shù)   ,代碼不用創(chuàng)建實(shí)現(xiàn)
    UFUNCTION(BlueprintNativeEvent,Category=Animation)
    void PlayPopup();
 void Playpop_Implementation(); //一定要定義這個(gè)函數(shù),并且實(shí)現(xiàn)
2、 在藍(lán)圖的Functions,選擇overide -PlayPopup
會(huì)出現(xiàn)要實(shí)現(xiàn)的函數(shù)
3 在C++類里面 調(diào)用的地方,寫(xiě)PlayPopup();

最后都要編譯一下

聲明:文章內(nèi)容整理來(lái)源于網(wǎng)絡(luò),版權(quán)屬于原作者,如有問(wèn)題,請(qǐng)聯(lián)系我們!

Copyright 2019 0743119.com

福感科技有限公司 版權(quán)所有 All Rights Reserved

京ICP備20002031號(hào)

010-89968230