由于未知函数EditAnywhere, UE4编译错误。

3

我一直在用C++开发基于Unreal Engine 4平台的游戏,并且一直在研究冲刺功能。然而,我按照YouTube上的教程编码时发现,在视频中他们使用了“EditAnywhere”函数,但当我尝试编写这个代码时,我的UE4提示“EditAnywhere”是未知函数。

我需要满足一些特殊条件才能使用“EditAnywhere”函数吗?

以下是我的头文件示例代码:

UFUNCTION()
void DoubleJump();

UPROPERTY()
int DoubleJumpCounter;

UPROPERTY(EditAnywhere, BlueprintReadWrite)
float JumpHeight;

UFUNCTION()
void Sprint();

UFUNCTION()
void Walk();

UPROPERTY(EditAnywhere)
float WalkingSpeed;

UPROPERTY(EditAnywhere)
float RunningSpeed;

UFUNCTION(EditAnywhere)
void Dash();

UPROPERTY()
bool CanDash;

UPROPERTY(EditAnywhere)
float DashStop;

UPROPERTY()
FTimerHandle UnsedHandle;

UFUNCTION()
void StopDashing();

UFUNCTION()
void ResetDash();

以下是错误信息截图: enter image description here
2个回答

4
你不能在函数中使用 EditAnywhereEditAnywhere 只用于变量的属性声明。

Properties are declared using standard C++ variable syntax, preceded by the UPROPERTY macro which defines property metadata and variable specifiers.

UPROPERTY([specifier, specifier, ...], [meta(key=value, key=value, ...)])
Type VariableName;

我需要满足特殊的要求才能使用"EditAnywhere"功能吗?

编辑函数没有任何意义,但是您可以指定函数在不同位置(例如:蓝图、虚幻编辑器等)中的操作方式。这可以通过UFUNCTION声明来完成。请参阅给定链接中的不同声明以获取更多信息。


3
EditAnywhere 不能与 UFUNCTION 一起使用,只能与 UPROPERTY 一起使用。将函数设置为可由属性窗口编辑的意义是什么?
请参见属性说明符函数说明符以获取支持的所有说明符的完整列表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接