【UE5 C++】C++代码调用蓝图方法或事件

news2024/11/24 12:02:07

此方法为:先创建C++类MyTest,再以MyTest类为父类创建蓝图;在其他类中,可以通过MyTest调用蓝图对应方法。

1.创建c++代码

通过UE创建继承自Actor的C++代码
在这里插入图片描述
在这里插入图片描述

2.添加可以在UE中重写方法的说明

需使用声明:UFUNCTION(BlueprintNativeEvent, BlueprintCallable)

BlueprintNativeEvent表示在c++中定义事件,可以在UE中实现,c++中必须实现。
如果UE中实现了,则覆盖c++中逻辑。

BlueprintCallable 表示可以在蓝图中调用。

完整代码 .h文件:

public:	
	//添加可以在UE中重写方法
	UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
	void Play(int num);
	virtual void Play_Implementation(int num);

.cpp文件增加方法:

void AMyTest::Play_Implementation(int num)
{
}

其中.h文件的 virtual void Play_Implementation();可以不写,写是为了方便实用快捷键创建.cpp中的实现。

.cpp文件中必须实现Play_Implementation。
后缀为官方定义的不可更改。不然.h中的Play()会报错。

注:可以填参数int32,但我测试FString类型无法添加。

注:增加了此代码后,需要重写通过编辑器编译进入UE,不然可能不会出现步骤2中的可选事件

2.创建蓝图类

以MyTest为末班,创建蓝图类。
在这里插入图片描述
打开蓝图类,鼠标移动到左侧FUNCTIONS菜单上,可以出现下拉菜单,可以发现刚才出现了刚才定义的Play。
在这里插入图片描述
点击Play,可以发现生成了一个事件。
可以对其进行连线,以便进一步在C++中调用。
![在这里插入图片描述](https://img-blog.csdnimg.cn/b6680a9313724a26893b28cfe83a8940.png

3.调用测试

到此,只要获取到该蓝图的Actor,Cast获取MyTest,即可调用声明的Play方法。

AMyTest* myTestActor = Cast<AMyTest>(Actor);
	if(myTestActor)
	{
		myTestActor->Play(99);
	}

注:Actor为创建出来的蓝图对象,自行获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1163162.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaWeb篇】HTTP请求构造方式

✅作者简介&#xff1a;大家好&#xff0c;我是小杨 &#x1f4c3;个人主页&#xff1a;「小杨」的csdn博客 &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; HTTP请求构造方式 1&#xff0c;通过form表单构造 form 表单是HTML中的一个常用标签&#xff0…

【深度学习】pytorch——线性回归

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 深度学习专栏链接&#xff1a; http://t.csdnimg.cn/dscW7 pytorch——线性回归 线性回归简介公式说明完整代码代码解释 线性回归简介 线性回归是一种用于建立特征和目标变量之间线性关系的统计学习方法。它假设…

GoLong的学习之路(十七)基础工具之GORM(操作数据库)(更新)

书接上回&#xff0c;上回写道&#xff0c;GORM的查询和创建&#xff08;插入数据&#xff09;&#xff0c;这回继续些增删改查的改和删的操作。 文章目录 更新update修改单个列修改多个列修改选定字段批量更新新阻止全局更新 使用 SQL 表达式更新注意 根据子查询进行更新不使用…

Modbus转Profinet网关与流量变送器兼容转ModbusTCP协议博图配置案例

首先&#xff0c;我们需要明确电磁流量计的通信协议是Modbus&#xff0c;而西门子1200PLC的通信协议是Profinet。这两种协议在功能和特性上存在一定的差异&#xff0c;因此需要使用兴达易控Modbus转Profinet网关设备进行转换。兴达易控的XD-MDPN100是Profinet转ModbusTCP的网关…

功率放大器的种类和作用是什么

功率放大器是一种电子设备&#xff0c;用于将输入信号的功率增加到更高的水平&#xff0c;以驱动负载或输出设备。功率放大器广泛应用于各种领域&#xff0c;包括通信、音频、无线电频谱分析、激光器和雷达等。 根据应用需求和工作原理不同&#xff0c;功率放大器可分为几种不同…

笔记:IDEA如何修改代码后,不重启服务器局部更新资源

前言 平常用IDEA开发网页写调样式和测功能最讨厌改一丁点东西就要重启整个服务器&#xff0c;所以本文主要就是解决此问题从而提高开发效率&#xff0c;避免浪费过多时间。 具体步骤 1、打开设置框 2、先新增exploded结尾的&#xff0c;并apply应用&#xff0c;把没有结尾的…

【Kubernetes部署】二进制部署单Master Kurbernetes集群 超详细

二进制部署K8s 一、基本架构和系统初始化操作1.1 基本架构1.2 系统初始化操作 二、部署etcd集群2.1 证书签发Step1 下载证书制作工具Step2 创建k8s工作目录Step3 编写脚本并添加执行权限Step4 生成CA证书、etcd 服务器证书以及私钥 2.2 启动etcd服务Step1 上传并解压代码包Step…

云尘-Node1 js代码

继续做题 拿到就是基本扫一下 nmap -sP 172.25.0.0/24 nmap -sV -sS -p- -v 172.25.0.13 然后顺便fscan扫一下咯 nmap: fscan: 还以为直接getshell了 老演员了 其实只是302跳转 所以我们无视 只有一个站 直接看就行了 扫出来了两个目录 但是没办法 都是要跳转 说明还是需要…

轻松搭建Nextcloud私有云盘并实现远程访问【内网穿透】

文章目录 摘要1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 摘要 Nextcloud,它是ownCloud的一个分支,是一个文件共享服…

opencv第一个例子

目的 这是用用QTopencv实现的一个完整的展示图片的例子&#xff0c;包括了项目的配置文件&#xff0c;完整的代码&#xff0c;以用做初次学习opencv用。 代码 工程文件&#xff1a; QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsTARGET openCv1 TEMPL…

双路比例阀放大器

双路比例阀放大器是一种常见的电子设备&#xff0c;它能够将输入信号放大到所需的水平&#xff0c;并输出两个相等或不同的放大信号。这种放大器通常由一个放大器和一个驱动电路组成&#xff0c;可以用于各种应用中&#xff0c;如液压控制、气动控制等。 在液压控制方面&#…

物联网系统的基本构件

1.基本组件 云服务器 数据库消息服务器应用服务器管理平台 云APP 云服务器的维护终端微信客户端网页管理平台 页面式的更全面的管理。组态软件和PLC软件 编程软件终端设备 PLC 主要指标&#xff0c;模拟数字接口数量 DO有 继电器和1.5,2.5.5V数字输出一般支持扩展IO模块模拟量…

利用win32的GetLastInputInfo函数实现锁屏(C#)

前两天看到群里面讨论这个问题&#xff0c;刚好我们上一家公司的系统也有这个功能&#xff0c;就研究了一下&#xff0c;我们这边实现这个功能的目的如下&#xff1a;当用户长时间不操作系统时&#xff0c;自动退出系统并退回到登录界面&#xff0c;想要使用系统&#xff0c;就…

软文投放、发稿:如何写一篇优质的软文

在当今的营销世界中&#xff0c;软文是一种强大的工具&#xff0c;可以用来宣传产品、建立品牌形象&#xff0c;以及与受众建立更深层次的联系。然而&#xff0c;要写一篇优质的软文并不容易。本文将介绍如何撰写一篇引人入胜的软文&#xff0c;以吸引读者的兴趣和赢得他们的信…

用 Java 实现 Syslog 功能

1、业务场景 用一个 Spring Boot 的项目去实现对管控设备的监控、日志收集等。同时需要将接收到的日志进行入库&#xff0c;每天存一张表&#xff0c;如device_log_20231026… 2、Syslog客户端&#xff08;接收日志的服务器&#xff0c;即运行Java程序的服务器&#xff09; 2…

JavaScript 基础 - 第4天

理解封装的意义&#xff0c;能够通过函数的声明实现逻辑的封装&#xff0c;知道对象数据类型的特征&#xff0c;结合数学对象实现简单计算功能。 理解函数的封装的特征掌握函数声明的语法理解什么是函数的返回值知道并能使用常见的内置函数 函数 理解函数的封装特性&#xff0c…

软件测试/测试开发丨UbuntuServer环境准备

点此获取更多相关资料 前提 现有设备是一套 i54090 的组合&#xff0c;安装了 Ubuntu 22.04.3 LTS Server 版本&#xff0c;后文的安装步骤都是基于这套系统和配置进行操作。 系统准备 查看是否安装了 gcc 命令行中执行 gcc -v 正常输入如图效果的&#xff0c;说明已经成功…

kubeadm部署kubernetes1.28

k8s在1.24版本以后删除了内置dockershim插件&#xff0c;原生不再支持docker运行时&#xff0c;需要使用第三方cri接口cri-docker https://github.com/Mirantis/cri-dockerd.git 安装前&#xff0c;需要先升级systemd和主机内核&#xff0c;本操作文档安装的是最新的版本kube…

微信小程序渲染的富文本里面除了img标签外什么都没有,该如何设置img的大小

微信小程序富文本渲染&#xff1a; <rich-text nodes"{{content}}"style"{{style}}" ></rich-text> content是接口得到的值 let cont object.contentlet a cont.replace(/<img/gi,<img style"max-width:94%;height:auto;margi…

大厂面试题-什么是IO的多路复用机制?

IO多路复用机制&#xff0c;核心思想是让单个线程去监视多个连接&#xff0c;一旦某个连接就绪&#xff0c;也就是触发了读/写事件。 就通知应用程序&#xff0c;去获取这个就绪的连接进行读写操作。 也就是在应用程序里面可以使用单个线程同时处理多个客户端连接&#xff0c…