Tower Defense Tweening/Animating Enemies

yeah its just they dont look at the next point

Give me a minute and I’ll fix that

1 Like
for i = 1, 3 do
	local Test = game:GetService("ServerStorage").Enemies.Test:Clone()
	Test.Parent = workspace.Enemies
	Test:PivotTo(workspace.EnemySpawn.CFrame)
	local previous_waypoint = workspace.EnemySpawn
	
	coroutine.wrap(function()
		for currentpoint = 1, #workspace.Pathpoints:GetChildren() do
			
			local distnace = (previous_waypoint.Position - workspace.Pathpoints[currentpoint].Position).Magnitude -- distance calculation
			local speed = Test:GetAttribute("Speed") -- enemy speed
			local TravelTime = distnace

— Rotation —

Test.PrimaryPart.CFrame = CFrame:lookAt(Test.PrimaryPart.Position, workspace.Pathpoints[currentpoint].Position)

			local info = TweenInfo.new(
				TravelTime,
				Enum.EasingStyle.Linear,
				Enum.EasingDirection.Out
			)
			
			local tween = TweenService:Create(
				Test.PrimaryPart,
				info,
				{CFrame = workspace.Pathpoints[currentpoint].CFrame}
			)
			tween:Play()
			tween.Completed:Wait()

			previous_waypoint = workspace.Pathpoints[currentpoint]
		end
		Test:Destroy()
	end)()

	task.wait(0.5)
end

thank you so much this works perfectly but one thing is you forgot
local TravelTime = distance/speed
you only put = distance

Yeah the forum code editor for mobile is so hard to work with

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.