summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.images/animise-eg-3.gifbin0 -> 111664 bytes
-rw-r--r--README.org38
2 files changed, 38 insertions, 0 deletions
diff --git a/.images/animise-eg-3.gif b/.images/animise-eg-3.gif
new file mode 100644
index 0000000..4b12a5c
--- /dev/null
+++ b/.images/animise-eg-3.gif
Binary files differ
diff --git a/README.org b/README.org
new file mode 100644
index 0000000..2118379
--- /dev/null
+++ b/README.org
@@ -0,0 +1,38 @@
+
+* Animise
+
+ /General purpose tweens and easing/
+
+ Animise is a small library to define, compose, and sequence changes to number
+ values through time. Animise is intended to be used as a general purpose
+ [[https://en.wikipedia.org/wiki/Inbetweening][tweening]] solution for your Common Lisp projects.
+
+ Here is a short example using animise to define an animated a box using SDL2
+
+ #+begin_src lisp
+;; ... snip
+
+(let* ((rect (sdl2:make-rect 0 0 100 100))
+ (color (list 255 0 0 255))
+
+ (anim (sequencing (:loop-mode :looping :targeting rect)
+ (pausing :for 200 :start (sdl2:get-ticks))
+ (grouping (:with-duration 1200)
+ (animating :linearly :the 'cadddr :of color :to 0)
+ (animating :quading-out :the 'sdl2:rect-x :to 400)
+ (animating :bouncing-out :the 'sdl2:rect-y :to 300))
+ (grouping (:with-duration 1000)
+ (animating :linearly :the 'cadddr :of color :to 255)
+ (animating :elastically-out :the 'sdl2:rect-x :to 0))
+ (animating :cubically-in-out :the 'sdl2:rect-y :to 0 :for 800))))
+
+ ;; ... snip
+
+ #+end_src
+
+And here is what the above might looks like
+
+[[./images/animise-eg-3.gif]]
+
+
+