Tween
Introduction
The Tween enables changing any numerical property on an object over a given amount of time using all of the available interpolation types provided by the Advanced Interpolation Plugin. Tween can interpolate any numerical value (like an object's X position). It works on any PositionedObject as an extension method (shown below).
For information on performing tweening with objects which do not implement PositionedObject, see the TweenerManager.TweenAsync method.
Code Example - Move Circle X
The following code shows how to tween the location of a Circle to the edge of the screen when pressing either the left or right keys. This example assumes:
You have a Screen
The Screen has a Circle object. For this example the Circle will be named CircleInstance.
To use Tween to change the position of the Circle based off of keyboard input:
Add the following using statement:
Add the following to CustomActivity:
Code Example - Zoom Camera with Delegates
If your Camera is 2D (default, Orthogonal = true), then zooming requires modifying two values:
OrthogonalHeight
OrthogonalWidth (usually by calling FixAspectRatioYConstant)
Rather than creating two Tween functions that run in parallel, the Tween function allows using a delegate to assign multiple values based on a single value. The example below uses the OrthogonalHeight as the main value, and adjusts the OrthogonalWidth by calling FixAspectRatioYConstant.
Code Example - Lambda Assignments
Lambdas can be used to assign properties without creating dedicated functions. For example a Circle's radius can be set using the following code:
Tweening vs. Velocity values
The tweening logic performed internally by calling Tween is executed regardless of the variable type. That is, the variable does not need an accompanying velocity variable (such as X and XVelocity) to tween properly. Furthermore, since the tweening occurs in the TweenerManager's update, the owner of the variable that is being changed does not need to be automatically updated.
Last