Skip to content

Actor

继承自

描述

模型角色节点

属性

floatMovespeed
生物的移动速度
floatMaxHealth
生物的最大血量
floatHealth
生物的当前血量
boolAutoRotate
自动旋转
boolNoPath
actor是否具有寻路路径
floatGravity
actor受到的重力
floatStepOffset
玩家可以攀越的高度
boolCanAutoJump
可以自由跳跃
intSkinId
通过玩家控制的角色获取玩家迷你皮肤id
floatSlopeLimit
玩家可行走的坡度
floatJumpBaseSpeed
玩家跳跃起始速度
floatJumpContinueSpeed
持续按住跳跃键减缓降落速度使用
floatRunSpeedFactor
给Movespeed加倍
boolRunState
是否为跑步状态
PhysicsRoleTypePhysXRoleType
物理类型
StandardSkeletonStandardSkeleton

函数

voidStopMove ()
停止调用Move或MoveTo接口的运行
voidStopNavigate ()
停止自动寻路
voidBindCustomPlayerSkin ()
自定义绑定玩家皮肤给actor
获取当前行为状态。见枚举BehaviorState
设定移动结束时间
voidMoveTo (Vector3 target)
actor朝某个位置进行移动
actor移动vec向量的位移
voidMove (Vector3 dir, bool relativeToCamera)
actor朝指定方向进行移动
voidJump (bool jump)
actor跳跃函数,将参数设置为true时,actor将会跳跃
voidSetJumpInfo (float baseSpeed, float continueSpeed)
跳跃设置
voidNavigateTo (Vector3 target)
自动寻路至指定位置,会自动寻找最佳路径移动至指定点,本函数立即返回
跳跃间隔,处于跳跃间隔内时无法跳跃
设置是否能够连续跳跃
是否使用默认动作

事件

SBXSignalWalking (bool isWalking)
当开始行走时会发送一次事件,停止行走时会发送一次通知
SBXSignalStanding (bool isStanding)
结束站立时会发送一次事件,开始站立时会发送一次通知
SBXSignalJumping (bool isJumping)
跳跃开始时会发送一次事件,跳跃结束时会发送一次通知
SBXSignalFlying (bool isFlying)
飞行开始时会发送一次事件,飞行结束时会发送一次通知
SBXSignalDied (bool isDied)
死亡开始时会发送一次事件
当actor移动状态发送变化时会发送一次事件
自动寻路结束后发送事件
SBXSignalMoveFinished (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)