请问如何用c++指认蒙太奇动画?

void AOneCharacter::PiKan()
{
if (PiKan != NULL)
{

	}

}

我设置了一个按钮,执行为J键,我想让它每按下一次就执行一次蒙太奇动画

它出现了这个错误:

1>F:\ueCL\RPGBegin\Source\RPGBegin\OneCharacter.cpp(111): error C3867: “AOneCharacter::PiKan”: 非标准语法;请使用 “&” 来创建指向成员的指针

然后请问如何用C++指认和创建蒙太奇文件呢?

我在官网上看到这样一个代码示例:

ACharacter::PlayAnimMontage

virtual float PlayAnimMontage
(
class UAnimMontage * AnimMontage,
float InPlayRate,
FName StartSectionName
)

请问可以写个实例示范给我看看吗?谢谢

不知道解決了沒有,但是還是要回答給後人看。

你的函數不能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進去。