Exmorph
Exmorph is a simple tweening and data transformation library for Elixir.
Usage
Add to your mix.exs:
{:exmorph, "~> 1.0.2"}
Use import Exmorph to enable the ~t sigil which can be used to generate
an %Exmorph.Tween{}. The contents of the sigil are used to determine the
properties of the tween:
iex> ~t(from 0 to 100 over 8sec ease quad_in)
%Exmorph.Tween{delta: 100, duration: 8000000000, easing: :quad_in,
ends_at: 1494150596602924000, from: 0, started_at: 1494150588602924000,
to: 100}~t is just an alias for the tween function provided by Exmorph. You
could write the above as Exmorph.tween("from 0 to 100 over 8sec ease quad_in")
without the need to import Exmorph.
By importing Exmorph, you also pull in the tween_value function. This
function takes an %Exmorph.Tween{} and returns the transformed value
based on the current time. An interval of time can also be passed as the
second argument to get a specific value in time after (or even before)
the time it was generated.
iex> tween = ~t(from 50 to 200 over 25sec)
# Wait a short while...
iex> tween_value(tween)
74.07077
# Wait 25 seconds...
iex> tween_value(tween)
200
# Look back in time...
iex> tween_value(tween, {-25, :seconds})
-100.0License
Exmorph is free software released under the Apache License 2.0.