当前位置: 首页 > news >正文

UFUNCTION C++ 的再次理解

一.UFUNCTION 格式

和属性也比较像,两部分 函数说明符,和元数据说明符

UFUNCTION不仅能 控制对蓝图公开,还能与 绑定委托,用户输入,网络回调功能相关联,而且还能创建自己控制带命令

二.函数说明符控制 ,函数在引擎和编辑器各个反面的UPERPERTY属性说明符类似,属性控制的时变量。

BlueprintPure |

此函数不对拥有它的对象产生任何影响,可在蓝图或关卡蓝图图表中执行。早默认情况下,带有 const 标记的函数将作为纯函数公开。要将常量函数变成非纯函数,你可以做以下声明:BlueprintPure=false

1.纯函数没用引脚。const 就表示不改变里面的变量

	UFUNCTION(BlueprintPure)float  BlueprintPureFunction();UFUNCTION(BlueprintCallable)float BlueprintCallableFunction();UFUNCTION(BlueprintCallable)int32 BlueprintCallableConstFunction() const;UFUNCTION(BlueprintPure = fasle)int32 BlueprintPureFalseFunction() const;

在UE 的 C++ 中, const 关键字用于修饰函数,表示该函数不会改变其作用域内的变量值。 添加 const 后有以下几个意义: 常量函数:当你声明一个函数为 const,则表明它不会修改任何外部对象的状态,这对于安全性和提高代码效率很有帮助,因为编译器可以对这类函数进行优化

2.纯函数没有引脚,输出引脚连两次的话,哪怕是打印函数,可能会执行两次逻辑。

3.BlueprintImplementableEvent 

BlueprintImplementableEvent | 此函数可在蓝图或关卡蓝图图表中实现。

感觉官方不够准却,记住一定不要再 .cpp里写定义。它一定要在蓝图里才能定义,头文件声明一下就行了。

4.BlueprintNativeEvent 

| 此函数旨在被蓝图覆盖掉,但是也具有默认原生实现。用于声明名称与主函数相同的附加函数,但是末尾添加了_Implementation,是写入代码的位置。如果未找到任何蓝图覆盖,该自动生成的代码将调用 _Implementation 方法。

这里官方还比较明确了,蓝图覆盖不了,再用.cpp里的原生的。

5.BlueprintAuthorityOnly | 如果在具有网络权限的机器上运行(服务器、专用服务器或单人游戏),此函数将仅从蓝图代码执行。

只在服务器上进行伤害,本地不会。

http://www.dtcms.com/a/361701.html

相关文章:

  • 凸集与优化
  • Python OpenCV图像处理与深度学习:Python OpenCV视频处理入门
  • C++实时视频抽帧抓图功能(附源码)
  • DeepSeek-V3.1 模型 API 新特性拆解:逆向 + 火山双渠道适配与推理模式智能切换指南
  • 基于FPGA的红外与可见光图像融合算法
  • Day42 Grad-CAM与Hook函数
  • 进程与线程 - 并发的基石
  • SQL执行过程及原理详解
  • [SWPUCTF 2018]SimplePHP
  • 实现自己的AI视频监控系统-第三章-信息的推送与共享2
  • 刘洋洋《一笔相思绘红妆》上线,献给当代痴心人的一封情书
  • 互斥量(Mutex,全称 Mutual Exclusion)用于保证同一时间只有一个线程(或进程)访问共享资源,从而避免并发操作导致的数据不一致问题
  • RAG-文本到SQL
  • SOME/IP-SD中IPv4端点选项与IPv4 SD端点选项
  • 突破超强回归模型,高斯过程回归!
  • 使用 BayesFlow 神经网络简化贝叶斯推断的案例分享(二)
  • 无重复字符的最长子串,leetCode热题100,C++实现
  • 【FireCrawl】:本地部署AI爬虫+DIFY集成+V2新特性
  • FFmpeg 不同编码的压缩命令详解
  • 速卖通自养号测评系统开发指南:环境隔离与行为模拟实战
  • 测试-用例篇
  • FFMPEG AAC
  • 【LeetCode每日一题】19. 删除链表的倒数第 N 个结点 24. 两两交换链表中的节点
  • Java内存模型下的高性能锁优化与无锁编程实践指南
  • 几种特殊的数字滤波器---原理及设计
  • 【零碎小知识点 】(四) Java多线程编程深入与实践
  • MongoDB主从切换实战:如何让指定从库“精准”升级为主库?保姆级教程!
  • 36. Ansible变量+管理机密
  • 【Android】使用Handler做多个线程之间的通信
  • Java面试宝典:Redis高并发高可用(集群)