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

相关推荐
笑鸿的学习笔记1 天前
虚幻引擎5-Unreal Engine笔记之常用核心类的继承关系
笔记·ue5·虚幻
笑鸿的学习笔记2 天前
虚幻引擎5-Unreal Engine笔记之UE编辑器退出时的保存弹框
笔记·ue5·虚幻
ue星空2 天前
UE5定序器中摇臂挂载摄像机 让摄像机始终朝向目标
ue5
烟水寻常3 天前
UE5 材质淡入淡出
ue5·材质
烟水寻常5 天前
UE5 诺伊腾动捕使用笔记
笔记·ue5
曼巴UE55 天前
UE5.3 C++ 如何在c++ 中拿到UI元素,并绑定不同事件响应功能
c++·ui·ue5
烟水寻常5 天前
UE5 ML机械学习肌肉反应与布料反应
ue5
烟水寻常5 天前
UE5 Daz头发转Blender曲线再导出ABC成为Groom
ue5·blender
子燕若水5 天前
daz to metahuman Daz转Metahuman并导入UE5全流程教程
ue5
烟水寻常6 天前
UE5 Audio2Face导出USD表情与ARKIT表情重定向
ue5