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

相关推荐
weixin_4046793113 小时前
虚幻5 如何打开关卡蓝图
ue5
dong1326973 天前
UE5FPS游戏开发教程(一)
ue5
朗迹 - 张伟4 天前
UE5.8 用Trae的AI开发功能
ue5
日月云棠5 天前
UE5 Lyra Teams模块深度分析:从队伍创建到伤害判定的完整链路
ue5
日月云棠8 天前
UE5 Lyra Inventory 物品系统模块深度分析——从数据定义到网络同步的完整链路
ue5
日月云棠9 天前
UE5 Lyra Weapons 模块深度分析——从装备实例到弹道散布的完整武器系统
ue5
清泓y10 天前
UE5程序化生成技术
ue5
清泓y11 天前
UE5--VR与AR开发技术
ue5·ar·vr
日月云棠11 天前
UE5 Lyra Messages 模块深度解析——从一条击杀消息看游戏事件系统的设计哲学
游戏·ue5
日月云棠12 天前
UE5 Lyra Input 模块:从手柄摇杆到技能释放,一条链路如何做到零耦合
ue5