UnLua实现继承

一、在蓝图中实现继承

1、创建父类,并绑定Lua脚本

2、创建子类蓝图,如果先创建的子类,可以修改父类继承

注意,提示选择继承父类的接口!
二、在Lua中实现继承

1、在父类Lua脚本中实现函数

BP_CharacterBase.lua

lua 复制代码
function BP_CharacterBase_C:StartFire()
    print("BP_CharacterBase_C:StartFire")
end

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

BP_Player.lua

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

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、打印,先执行子类方法,然后执行父类方法

相关推荐
Zhichao_979 小时前
【UE5.3 C++】ARPG游戏 04-角色脚部贴合地形
游戏·ue5
zhangzhangkeji9 小时前
UE5 C++(2):保存 vs2022 文本时采用 UTF 编码,以解决到 UE 里的乱码问题,高级保存选项
ue5
AI视觉网奇10 小时前
audio2face mh_arkit_mapping_pose_A2F 不兼容
笔记·ue5
zhangzhangkeji15 小时前
UE5 C++(11-2):TMap 的成员函数。TMultiMap;TMap 里迭代器的类位置定义。
ue5
AI视觉网奇19 小时前
ue 动画重定向 实战笔记2026
笔记·ue5
1204157137 肖哥1 天前
UE5 MRQ渲染:解决采样不够造成的角色残影问题
ue5·音视频
zhangzhangkeji1 天前
UE5 C++(6-2):描述角色 EndPlay 原因的枚举类 EEndPlayReason::Type,此命名空间里定义了一个枚举类。
ue5
陈友松2 天前
记录下UE5.3源码在系统升级windows11后使用VS2022出现的编译错误,以及下载慢提速的方法
ue5
zhangzhangkeji2 天前
UE5 C++(5):虚幻C++游戏架构,创建C++默认类,以及如何自定义游戏模式
ue5
每天回答3个问题2 天前
Lua 函数教程
开发语言·ue5·ue4·lua