一、在蓝图中实现继承
1、创建父类,并绑定Lua脚本
2、创建子类蓝图,如果先创建的子类,可以修改父类继承
注意,提示选择继承父类的接口!
二、在Lua中实现继承
1、在父类Lua脚本中实现函数
BP_CharacterBase.lua
function BP_CharacterBase_C:StartFire()
print("BP_CharacterBase_C:StartFire")
end
2、在子类中设置父类文件名,重写父类函数,并显示调用父类函数
BP_Player.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
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、打印,先执行子类方法,然后执行父类方法