国产AⅤ无码一区二区三区_青青在线香蕉精品视频在线_2021年国产精品专区丝袜_久久青草费线频观看地址_亚洲A综合一区二区三区

首頁 >  資訊 >  詳情

UE學習記錄:DashProjectile

2023-07-31 00:09:42來源:嗶哩嗶哩

添加一個名為RGProjectileBase的Actor類

類中添加了void Explode(),用BlueprintCallable和BlueprintNativeEvent標記


(資料圖片僅供參考)

BlueprintCallable

在ue4中用來修飾UFUNCTION,表示該函數可以在藍圖中可調用

BlueprintCallable有執(zhí)行引腳

BlueprintCallable函數返回值會在調用這個函數的作用域中創(chuàng)建一個局部變量

BlueprintNativeEvent

在ue4中是用來修飾UFUNCTION的,表示該函數可以在C++和藍圖中同時實現

在C++中的實現需要在自身的方法名加一個后綴_Implementation,并可以是virtual

引擎中多處這樣實現派生類重寫

優(yōu)先調用藍圖中的Event,如果藍圖中該Event沒有方法體,則調用C++中的實現。

要在藍圖腳本中實現該函數:BP_RGDashProjectile(我的藍圖)>函數>重載>Explode

添加一個名為RGDashProjectile的類,繼承RGProjectileBase

GetWorldTimerManager()?

是在游戲開始的時候運行的, 需要在BeginPlay() 中調用,在構造函數中調用會崩潰。

功能:可以設置在經過一段時間后以固定的時間間隔重復或單次執(zhí)行某個操作。

使用:

在.h文件中定義定時器句柄TimeHandle----也就是定義一個定時器手柄,用來接收定時器的控制;

()

第一個參數:把時間控制權交給誰(TimerHandle_DetonateDelay)

第二個參數: 類的對象(this)

第三個參數: 要執(zhí)行的函數(&ARGDashProjectile::Explode)

第四個參數: 間隔時間(DetonateDelay)

第五個參數: 執(zhí)行完函數之后,是否循環(huán)執(zhí)行(不填寫的話默認為false)

第六個參數:執(zhí)行完函數后,間隔多久循環(huán)執(zhí)行

3.其他的一些用法

在RGDashProjectile類中對Explode進行實現時,我需要調用兩個定時器,第一次本可以使用ARGProjectileBase類中定義好的Super::Explode_Implementation(),但其中得Destroy()功能會導致Actor銷毀,所以得用ClearTimer()清除第一個定時器,重新對其Explode進行實現(把Destroy()去掉)。

SpawnEmitterAtLocation

在指定的Location和Rotation產生效果并銷毀。效果完成后,就會消失。

封裝攻擊類型

SweepSingleByObjectType

對世界進行指定形狀的掃描,只要命中就返回true

關鍵詞:

[ 相關文章 ]