Tweener Lua Script
You must have a minimum set of code to play an animation in the Scripted Entity Tweener
system. As described in Tweener Sample Level, you add this code to a Lua
script. You can copy and paste the code into a text file, and then change the file
name extension to .lua
. You use this script as part of a Lua
script component. For more information about Lua script components, see Adding Lua Scripts to Component
Entities.
In the following example, the entity's opacity is linearly tweened to 0.5
over 5
seconds.
local AnimateUiEntity = { Properties = { ToAnimate = {default = EntityId()}, }, } function AnimateUiEntity:OnActivate() self.tickBusHandler = TickBus.Connect(self) self.ScriptedEntityTweener = require("Scripts.ScriptedEntityTweener.ScriptedEntityTweener") end function AnimateUiEntity:OnTick(deltaTime, timePoint) self.tickBusHandler:Disconnect() self.ScriptedEntityTweener:StartAnimation { id = self.Properties.ToAnimate, duration = 5.0, ["opacity"] = 0.5, } end function AnimateUiEntity:OnDeactivate() self.ScriptedEntityTweener:OnDeactivate() end return AnimateUiEntity
The following example shows a full call with all the default parameters. In this example,
the entity moves to the ["x"]
and ["y"]
positions indicated in the code over
the duration
of 5
seconds.
self.ScriptedEntityTweener:StartAnimation { id = self.Properties.ToAnimate, duration = 5.0, ["x"] = 150, ["y"] = 200, timeIntoTween = 0, -- Start tween some seconds in easeMethod = ScriptedEntityTweenerEasingMethod_Linear, easeType = ScriptedEntityTweenerEasingType_In, delay = 0, timesToPlay = 1, isFrom = false, isPlayingBackward = false, uuid = Uuid.Create(), --onComplete = function() Debug.Log("Called when this animation is done") end --onUpdate = function(currentValue, currentProgressPercent) Debug.Log("Called when this animation updates") end --onLoop = function() Debug.Log("Looped animation”) end }
For the parameter descriptions, see Tweener Supported Components.