Skip to content

Actor ​

继承自:

描述 ​

模型角色节点

属性 ​

float  Movespeed
生物的移动速度
float  MaxHealth
生物的最大血量
float  Health
生物的当前血量
bool  AutoRotate
自动旋转
int  UserId
通过玩家控制的角色获取玩家迷你号
bool  NoPath
actor是否具有寻路路径
float  Gravity
actor受到的重力
float  StepOffset
玩家可以攀越的高度
bool  CanAutoJump
可以自由跳跃
int  SkinId
通过玩家控制的角色获取玩家迷你皮肤id
float  SlopeLimit
玩家可行走的坡度
float  JumpBaseSpeed
玩家跳跃起始速度
float  JumpContinueSpeed
持续按住跳跃键减缓降落速度使用
PhysicsRoleType  PhysXRoleType
物理类型

函数 ​

void  StopNavigate ()
停止自动寻路
获取当前行为状态。见枚举BehaviorState
设定移动结束时间
void  MoveTo (Vector3 target)
actor超某个位置进行移动
void  Move (Vector3 dir, bool relativeToCamera)
actor朝指定方向进行移动
void  Jump (bool jump)
actor跳跃函数,将参数设置为true时,actor将会跳跃
void  SetJumpInfo (float baseSpeed, float continueSpeed)
跳跃设置
void  NavigateTo (Vector3 target)
自动寻路至指定位置,会自动寻找最佳路径移动至指定点
跳跃间隔,处于跳跃间隔内时无法跳跃
设置是否能够连续跳跃
是否使用默认动作

事件 ​

SBXSignal  Walking (bool isWalking)
当开始行走时会发送一次事件,停止行走时会发送一次通知
SBXSignal  Standing (bool isStanding)
结束站立时会发送一次事件,开始站立时会发送一次通知
SBXSignal  Jumping (bool isJumping)
跳跃开始时会发送一次事件,跳跃结束时会发送一次通知
SBXSignal  Flying (bool isFlying)
飞行开始时会发送一次事件,飞行结束时会发送一次通知
SBXSignal  Died (bool isDied)
死亡开始时会发送一次事件
当actor移动状态发送变化时会发送一次事件
自动寻路结束后发送事件
SBXSignal  MoveFinished (bool isMoveFinished)
移动MoveTo结束后触发

代码示例 ​

lua
--创建实例
local newActor = SandboxNode.New('Actor')
--设置名字
newActor.Name = "my_actor"
--设置模型
newActor.ModelId = string.format("sandboxAsset://entity/%s/body.omod","100010")
--设置位置
newActor.Position = Vector3.New(500,700,500)
--设置父节点
newActor:SetParent(Workspace)
--设置速度
newActor.Movespeed = 2 
--监听MoveFineshed事件
newActor.MoveFinished:Connect(function(isMoveFinished)
        print("actor move:"..tostring(isMoveFinished))
end)

newActor.Walking:Connect(function()
        print("actor walking..")
end)