GetPlayingAnimation

格式

GetPlayingAnimation()

简介

获取角色正在播放的动作对象,作为列表返回。

返回值

类型 描述
table animation 动画对象

实例

在工作区下创建一个男角色,通过GetPlayingAnimation获取正在播放的动作。

local player = WorkSpace:WaitForChild("Boy") -- 获取创建好的角色
player.Position = Vector3(0,0.125,3) -- 角色位置赋值
local climb = player.Animation.Climb -- 获取攀爬动作
wait(0.5) -- 等待0.5
climb.AnimationState = Enum.StateType.Custom -- 动作状态改变
climb.Loop = true  -- 动作循环开启
climb:PlayAnimation() -- 动作播放
wait(1) -- 等待1
local ani = player:GetPlayingAnimation() -- 获取玩家当前播放的动作
for k,v in pairs(ani) do -- 输出动作对象的名字
    print(tostring(v.Name))
end

创建零件,在玩家碰撞零件时使翻滚,使用GetPlayingAnimation输出播放的动画名字。

local part = RWObject:New("Part",WorkSpace) -- 创建零件
part.Position = Vector3.New(2,1,2)
part.Parent = WorkSpace
part.TriggerEnter:Connect(function(hit) -- 角色接触零件时翻滚
  if hit:IsClass("Avatar") then
     local roll = RWObject:New("Animation",hit)
     roll.ClipId = "rwid://T10a_TBvbv1RCvBVdK" -- 动作赋值
     roll.Loop = true  -- 动作循环开启
     roll:PlayAnimation() -- 动作播放
  end
end)
part.TriggerExit:Connect(function(avatar)
  if avatar:IsClass("Avatar") then
     local ani = avatar:GetPlayingAnimation() -- 获取玩家当前播放的动作
     for k,v in pairs(ani) do -- 输出动作对象的名字
        print(tostring(v.Name))
     end
  end
end)
文档更新时间: 2020-08-17 17:32   作者:安彤琛