UE5 c++ 暴露变量和方法给蓝图

文章目录

暴露变量到属性面板

使用UPROPERTY()宏标记属性,使用括号里的参数确认不同的表现形式

cpp 复制代码
	//UPROPERTY(EditDefaultsOnly) //只能在蓝图的"类默认值"里编辑
	//UPROPERTY(EditInstanceOnly) //只能实例化后在属性面板编辑
	//UPROPERTY(EditAnywhere) //类的默认值和实例化后都可以编辑
	//UPROPERTY(VisibleDefaultsOnly) //只能在蓝图的"类默认值"里可见,不能编辑
	//UPROPERTY(VisibleInstanceOnly) //只能实例化后在属性面板里可见,不能编辑
	UPROPERTY(VisibleAnywhere)  //类的默认值和实例化后都可见,不能编辑
	float Amplitude = 0.25f;

暴露后,会显示在类名分类下方,我现在的类名就叫"Item"

暴露变量到蓝图节点

变量必须在public修饰符下

cpp 复制代码
	//UPROPERTY(EditAnywhere,BlueprintReadOnly)//只读
	UPROPERTY(EditAnywhere,BlueprintReadWrite)//可读可写
	float Amplitude = 0.25f;//振幅

为变量分组

cpp 复制代码
UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="正弦函数")
	float Amplitude = 0.25f;//振幅

暴露私有变量到蓝图

csharp 复制代码
private:
	UPROPERTY(VisibleAnywhere,BlueprintReadOnly,meta=(AllowPrivateAccess="true"))   //使用Meta
	float runningTime; 

暴露方法

cpp 复制代码
	//UFUNCTION(BlueprintCallable) //普通方法
	UFUNCTION(BlueprintPure) //纯函数
	float TransformSin(float Value);
相关推荐
浅念-2 小时前
LeetCode 双指针题型 C++ 解题整理
开发语言·数据结构·c++·笔记·算法·leetcode·职场和发展
风向决定发型丶2 小时前
Java 线程池 vs Go GMP
java·开发语言·golang
zzb15802 小时前
Agent案例-智能文档问答助手
java·人工智能·笔记·python
Mr_Xuhhh2 小时前
LeetCode hot 100(C++版本)
c++·leetcode·哈希算法
cccyi72 小时前
【C++ 脚手架】cpp-httplib 与 websocketpp 库的介绍与使用
c++·websocket·http
故事和你912 小时前
洛谷-入门6-函数与结构体
开发语言·数据结构·c++·算法·动态规划
老四啊laosi2 小时前
[C++进阶] 21. 红黑树
c++·红黑树
dd向上2 小时前
【计算机毕设/课设】在职全栈开发工程师接单:Java(SpringBoot+Vue)/小程序/C++(Qt/MFC) 定制与辅导
java·spring boot·课程设计
ckm紫韵2 小时前
Maven搭建私服Nexus教程
java·maven·nexus