I'm making a game where the character is 2D animated instead of 3D. Actions like walking, dying, jumping etc will change the pose of the 2D character.
Unfortunately, jumping hasn't worked at all for me at all. Here is the code:
local animbody = script.Parent.HumanoidRootPart.BodyUI --The 2D animated rig
local humanoid = script.Parent.Humanoid
humanoid.Running:connect(function(speed) -- Return value; speed of the running
if speed > 0 then
animbody.ImageLabel.Image = "rbxassetid://"..6811778352 --Changes to running pose when speed is greater than 0
animbody.ImageLabel.Size = UDim2.new(0.6,0, 0.691, 0)
elseif speed == 0 then
animbody.ImageLabel.Image = "rbxassetid://"..6811242425 --Changes to idle pose when speed is 0
animbody.ImageLabel.Size = UDim2.new(0.578, 0,0.691, 0)
end
end)
local isJumping = false
humanoid.StateChanged:Connect(function(oldState, newState)
if newState == Enum.HumanoidStateType.Jumping then
isJumping = true
animbody.ImageLabel.Image = "rbxassetid://"..6811706850
animbody.ImageLabel.Size = UDim2.new(0.578, 0,0.696, 0)
elseif newState == Enum.HumanoidStateType.Landed then
isJumping = false
animbody.ImageLabel.Image = "rbxassetid://"..6811242425
animbody.ImageLabel.Size = UDim2.new(0.578, 0,0.691, 0)
end
end)
humanoid.Died:connect(function()
local charParts = script.Parent:GetChildren()
for i, objects in ipairs(charParts) do
if objects:IsA("Part") then
objects.Anchored = true
end
end
animbody.ImageLabel.Image = "rbxassetid://"..6821697622 --Changes to death pose when speed is 0
animbody.ImageLabel.Size = UDim2.new(0.578, 0,0.691, 0)
end)
