From b4d19e469b3de98778002ac97814c6b647cba113 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sat, 22 Nov 2014 14:47:43 -0500 Subject: better chara input --- js/shader.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'js/shader.js') diff --git a/js/shader.js b/js/shader.js index b829a0d..cd6b899 100644 --- a/js/shader.js +++ b/js/shader.js @@ -1,13 +1,14 @@ var shader = (function(){ var fn_str, fn, lex var exports = {} + var animating = false exports.init = function(){ lex = new Lex (0, 0) exports.build(demo_shader.innerHTML) } exports.build = function (fn_str){ - new_fn = new Function('lex', 'x', 'y', fn_str) + new_fn = new Function('lex', 'x', 'y', 't', fn_str) try { new_fn(lex, 0, 0) } @@ -18,11 +19,26 @@ var shader = (function(){ return fn } exports.run = function(canvas){ + var t = +new Date canvas.forEach(function(lex, y, x){ - fn(lex, x, y) + fn(lex, x, y, t) lex.build() }) } + exports.toggle = function(state){ + animating = typeof state == "boolean" ? state : ! animating + } + exports.pause = function(){ + animating = false + } + exports.play = function(){ + animating = true + } + exports.animate = function (t){ + requestAnimationFrame(exports.animate) + if (! animating) { return } + exports.run(canvas) + } return exports -- cgit v1.2.3-70-g09d2