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
)
请问可以写个实例示范给我看看吗?谢谢
Hyrex93
(Hyrex93)
2
不知道解決了沒有,但是還是要回答給後人看。
你的函數不能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進去。