不知道解決了沒有,但是還是要回答給後人看。
你的函數不能compile是因為Pikan是函數,不是變量,是不能直接check null的。
除非是使用lambda 或函數指標,比如(&AOneCharacter::Pikan) 這種寫法才是引用函數地址當物件使用。
AnimMontage實列:
In AOneCharacter.h
UPROPERTY(BlueprintReadWrite, EditDefaultsOnly)
class UAnimMontage* AnimMontage;
UPROPERTY(BlueprintReadWrite, EditAnywhere)
class FName CurrentSecitonName;
In AOneCharacter.cpp
void AOneCharacter::PiKan()
{
if (AnimMontage != nullptr)
{
PlayAnimMontage ( AnimMontage, float InPlayRate, FName CurrentSecitonName)
}
}
然後在ContentBrowser中,右鍵選擇Animation → New Anim Montage
將想要的動畫拉近Montage的Track裡面。要改名要找名字附近的一條直線,右鍵可以Rename.
然後去你的AOneCharacter的class/BP class裡面,找AnimMontage的變量,然後把新創建AnimMontage asset slot進去。