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

相关推荐
电子云与长程纠缠2 小时前
UE5.3中通过编辑器工具创建大纲菜单文件夹
java·ue5·编辑器
DBBH12 小时前
UE5 第三人称学习之动画 control rig
ue5
UTwelve12 小时前
【UE5】一种老派的假反射做法,可以用于移动端,或对反射的速度、清晰度有需求的地方
ue5·虚幻引擎·着色器·虚幻4
UTwelve15 小时前
【UE5】可以实时绘制的体积渲染 【第三章 体积纹理绘制 - 3.绘制体积】
ue5
1204157137 肖哥20 小时前
UE5.4 PCG基础节点
ue5
DBBH2 天前
UE5 材质篇 1 如何偏移顶点
ue5·材质
孤客网络科技工作室2 天前
虚幻引擎5(UE5)学习教程
java·学习·ue5
暮志未晚Webgl2 天前
105. UE5 GAS RPG 搭建主菜单
ue5
异次元的归来2 天前
UE5相机系统初探(一)
ue5·游戏引擎·camera
DBBH4 天前
UE5 材质篇 0 创建一个材质
ue5