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

UnLua实现继承

一、在蓝图中实现继承
1、创建父类,并绑定Lua脚本
在这里插入图片描述
2、创建子类蓝图,如果先创建的子类,可以修改父类继承
在这里插入图片描述
注意,提示选择继承父类的接口!
二、在Lua中实现继承
1、在父类Lua脚本中实现函数
BP_CharacterBase.lua

function BP_CharacterBase_C:StartFire()
    print("BP_CharacterBase_C:StartFire")
end

2、在子类中设置父类文件名,重写父类函数,并显示调用父类函数
BP_Player.lua

local BP_Player_C = UnLua.Class("BP_CharacterBase")	--注意传入的是文件名字

function BP_Player_C:StartFire()
	print("P_Player_C:StartFire")
	self.Super:StartFire()
end

3、调用函数
BP_PlayerController.lua

function BP_PlayerController_C:Fire_Pressed()
	print("BP_PlayerController_C:Fire_Pressed")
	self.Pawn:StartFire()
	--如果父类有继承接口,也可以用接口的调用方法
	local BPI_Interfaces = UE.UClass.Load("/Game/ShootingScripts/Blueprint/Common/BP_Interfaces.BP_Interfaces_C")
	BPI_Interfaces.StartFire(self.Pawn)
end

4、打印,先执行子类方法,然后执行父类方法
在这里插入图片描述


http://www.kler.cn/a/320280.html

相关文章:

  • excel 整理表格,分割一列变成多列数据
  • 赤店商城系统点餐小程序多门店分销APP共享股东h5源码saas账号独立版全插件全开源
  • 熵权法(变异系数法)
  • 服务器数据恢复—EMC存储POOL中数据卷被删除的数据恢复案例
  • 计算机网络速成
  • 【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据...本篇介绍为什么self-attention可以堆叠多层,这有什么作用?
  • 便捷点餐:Spring Boot 点餐系统
  • 【远程调用PythonAPI-flask】
  • 【GUI设计】基于Matlab的图像处理GUI系统(1),用matlab实现
  • MyBatis 深层次 Map 自动嵌套:解锁数据映射新境界
  • 基础实践:使用JQuery Ajax调用Servlet
  • 安卓简易权限调用
  • 华为HarmonyOS灵活高效的消息推送服务(Push Kit) - 5 发送通知消息
  • 提示词工程 (Prompt Engineering) 最佳实践
  • 阿里通义千问开源Qwen2.5系列模型:Qwen2-VL-72B媲美GPT-4
  • 广东高校建设AIGC实验室时需要注意哪几个关键点?
  • jenkins汉化一部分问题
  • Golang | Leetcode Golang题解之第429题N叉树的层序遍历
  • github demo网页制作
  • 73 矩阵置零
  • c# sqlite判断某表是否存在的方法
  • 【JavaEE】数据链路层协议和DNS
  • 嵌入式开发中学习C++的用处?
  • 【C++掌中宝】类和对象(一):类的定义和实例化
  • 现代餐饮服务:Spring Boot 点餐系统
  • 柯桥小语种学习之语言交流 | 德语餐厅用语