Actor的父子关系
在同一个世界中的Actor之间会存在两种关系:
- 并列关系
- 父子关系
对于并列关系很好理解,正常的两个Actor之前,没有什么关系,只是一起存在于一个世界中,即是并列关系:
Actor之间存在父子关系,父子关系即为一个Actor是另一个Actor的子Actor:
对于子Actor,在父Actor进行移动、旋转、缩放等基础变换时,子Actor会随着父Actor一起变换:
依照这种功能,我们可以实现例如FPS游戏中角色捡起地面的枪支, RPG游戏中角色骑在马背上, 等功能。
对于业务开发人员来说,我们可以很快速地用代码来使用这个功能:
--将pChildActor挂载在pParentActor上,作为pParentActor的一个子节点
pChildActor:AttachToActor(pParentActor)
有时我们需要判断某Actor是否是另一个Actor的子Actor:
local bIsChild = pParentActor:IsChildActor(pChildActor)
有时我们也需要获取到全部的子Actor:
local aChildActors = pParentActor:GetAllChildActors()
如果需要从另一个Actor下解绑时:
pActor:DetachFromActor(pOtherActor)