GithubHelp home page GithubHelp logo

parisminton / chuck.js Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 548 KB

A JavaScript library for animating in Canvas, with helpful features for makers of infographics.

Shell 0.26% JavaScript 99.74%

chuck.js's Introduction

chuck.js

chuck.js is a JavaScript library designed to do much of the heavy lifting of animating in HTML5's Canvas element. It focuses on features that are valuable to makers of infographics, like being able to pause at specific points on the timeline, working with explainer text, and easy setup of user controls like buttons and scrubbers. It works with Mike Swanson's Ai->Canvas Export Plug-In for Adobe Illustrator.

It's inspired partly by a desire to help the advances in visualization tools at news organizations catch up to the advances in tools for data sharing and acquisition. And partly because I've always loved animation, and bringing my graphics to life is something I've wanted to do for a long time.

Right now there's a small but powerful set of software for rendering two-dimensional motion on the Canvas that includes the plug-in mentioned above and

chuck is my contribution for the interaction developer who frequently has to present information sequentially alongside blocks of text that need to change in sync with the action. They've probably already got vectors, but need them to move.

As advanced as some of these libraries' features are, we're all just in our infancy -- like the Canvas medium itself. That's exciting and encouraging.

This is just a collection of code, so it doesn't save you the hard work of making the art on the front end. Once you've exported your artwork as .html files using the plug-in, the included shell script converts the files into chuck object instances. Those instances are powered by logic that handles the mechanics of animating them and putting them in sequence on a timeline.

You can see my progress in this example.

Here's the instruction manual.

And if the changelog interests you, knock yourself out.

I'm continually growing as a programmer, and I make -- and fix -- plenty of mistakes. This code will change as I learn from them.

chuck.js's People

Contributors

parisminton avatar

Stargazers

Roberto Salicio avatar  avatar jag avatar

Watchers

 avatar James Cloos avatar

chuck.js's Issues

Bug: Fix the redraw

Problem: Screen redraws on mousemove, advancing the animation by one frame.
Perceived solution: Increment current_frame at the beginning of Animator.animate(), not the end.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.