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

相关推荐
charon87782 天前
Unreal Engine 5 C++: 编辑器工具编写入门(中文解释)
c++·ue5·编辑器·游戏引擎·虚幻
UTwelve2 天前
【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第一篇-原理】
ue5·ue4·虚幻·虚幻引擎·着色器
axin7c83 天前
UnLua访问C++属性、动态生成Actor
ue5
axin7c83 天前
UnLua扩展C++函数和蓝图自定义事件
ue5
快下雨了L5 天前
UE5学习笔记22-武器瞄准和武器自动开火
笔记·学习·ue5
四代水门6 天前
UE5——笔刷Brush工具
ue5
斯裕科技8 天前
新升级|优化航拍/倾斜模型好消息,支持处理多套贴图模型!
unity·ue5·3dsmax·虚拟现实·maya·增强现实
留点头发。9 天前
UE5-俯视角色移动(蓝图)01
c++·ue5·游戏程序
远离UE49 天前
UE5 阴影通道
ue5