1、编辑和显示变量
有些变量经常需要修改,来测试游戏效果,我们希望这些变量可以显示在面板上,从而我们可以手动的修改。
UPROPERTY(VisibleAnywhere)
int time;
UPROPERTY(VisibleAnywhere, Category = "PlayerInfo")
int Level;
UPROPERTY(EditAnywhere,Category="PlayerInfo")
FString name;
UPROPERTY(BlueprintReadOnly,EditAnywhere, Category = "PlayerInfo")
FString ID;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "PlayerInfo")
int life;
在我们想修改的变量上面加上宏定义UPROPERTY
,在这个宏定义里面我们可以填写许多参数,来控制这个变量的一些行为。
常用的一些参数
VisibleAnywhere
在编辑器上可见,但是不可编辑。Category
给变量一个分类的标签,下面会展示效果EditAnywhere
使变量可以在面板上可以编辑BlueprintReadOnly
这个是在BP里使用的,这意味着在BP中我们可以访问到这个变量,但是只读的BlueprintReadWrite
同上,不过是可读可写的
2、面板显示测试
可以看到,只读的变量显示为灰色,我们不能对其进行修改,没有目录的变量会生成在默认目录下,而有目录的变量都生成在对应的标签下。
3、蓝图显示测试
上面我们定义的变量中,ID是蓝图只读,life是可读可写,我们来看看蓝图中的状态。
ID只有Get方法,而life有Set 和Get方法,而其他没有在蓝图中公开的变量没有在蓝图中出现