Actor的父子关系

在同一个世界中的Actor之间会存在两种关系:

  1. 并列关系
  2. 父子关系

对于并列关系很好理解,正常的两个Actor之前,没有什么关系,只是一起存在于一个世界中,即是并列关系:

actor_relation

Actor之间存在父子关系,父子关系即为一个Actor是另一个Actor的子Actor: child_actor

对于子Actor,在父Actor进行移动、旋转、缩放等基础变换时,子Actor会随着父Actor一起变换:

transform

依照这种功能,我们可以实现例如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)
@Copyright © cosmos 2019 all right reserved,powered by Gitbook修订时间: 2021-04-12 18:28:14

results matching ""

    No results matching ""