最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

虛幻C++:調(diào)用接口的多種方式

2023-07-13 05:32 作者:雨落素潔_official  | 我要投稿

本文會通過完整的接口類聲明、實現(xiàn)、調(diào)用的過程來介紹虛幻C++調(diào)用接口版本的不同。

1.? 創(chuàng)建C++接口類

這里我創(chuàng)建了一個名為BulletHitInterface的類。

選擇接口類

2.? 聲明接口函數(shù)

BulletHitInterface.h

BulletHitInterface.h

細節(jié)說明:

因為BulletHitInterface所繼承的UInterface是一個抽象類, 同時聲明的函數(shù)BulletHit()也沒有在當(dāng)前類中實現(xiàn),所以BulletHit()不需要virtual修飾也是一個虛函數(shù)。

UFUNCTION()中添加參數(shù)BlueprintNativeEvent,是為了之后在藍圖中實現(xiàn)。

3.? 實現(xiàn)該接口函數(shù)

3.1? C++版本實現(xiàn)

MerchantCharacter.h

MerchantCharacter.h

_Implementation 后綴用于實現(xiàn)UFUNCTION(BlueprintNativeEvent)修飾的函數(shù)。當(dāng)藍圖中沒有實現(xiàn)該函數(shù)時,C++代碼中的_Implementation函數(shù)將被調(diào)用。這與BulletHit函數(shù)是否為虛函數(shù)無關(guān)。

MerchantCharacter.cpp

MerchantCharacter.cpp

3.2? 藍圖版本實現(xiàn)

藍圖實現(xiàn)

4.? 調(diào)用的不同方式,如何僅調(diào)用C++實現(xiàn)?如何僅調(diào)用藍圖實現(xiàn)?

4.1? 僅調(diào)用C++實現(xiàn)

如果同時有C++和藍圖兩個版本的實現(xiàn),可以通過直接調(diào)用被實現(xiàn)函數(shù)的函數(shù)名,來達到僅調(diào)用C++的效果。

C++
輸出日志

4.2? 僅調(diào)用藍圖實現(xiàn)

通過 Execute_函數(shù)名 的辦法,則可以實現(xiàn)由BlueprintNativeEvent修飾的,僅調(diào)用藍圖實現(xiàn)。

藍圖


輸出日志


以上兩者除了在函數(shù)名上有差別,在參數(shù)上也有差別,需要注意。

僅C++


僅藍圖

4.3那么有沒有一種辦法同時調(diào)用C++和藍圖呢?

簡單,調(diào)用父類



輸出日志


感謝閱讀。以上便是我在學(xué)習(xí)過程中的發(fā)現(xiàn)和總結(jié),了解這些知識可以增加一種debug思路。

學(xué)識尚淺,如有錯誤,歡迎在評論區(qū)指摘。


虛幻C++:調(diào)用接口的多種方式的評論 (共 條)

分享到微博請遵守國家法律
南部县| 东平县| 云梦县| 扎兰屯市| 濮阳市| 虞城县| 沅陵县| 京山县| 青铜峡市| 轮台县| 镇原县| 尼木县| 美姑县| 扶沟县| 改则县| 舟曲县| 湄潭县| 海南省| 台山市| 南岸区| 宜丰县| 保靖县| 如东县| 商南县| 益阳市| 芜湖市| 玉龙| 清丰县| 墨江| 湘潭县| 卢龙县| 宜都市| 稷山县| 义马市| 榆林市| 乐清市| 攀枝花市| 凤台县| 临桂县| 靖宇县| 沾化县|