Dynamically scripted animations with Javascript

  • Language: English
  • Certificate: of completion
  • Subtitles: English, Spanish, French, Japanese, Italian, Portuguese (Machine translation)
  • Duration: 3 Hours 50 Mins
Now
11.99$
/$100

We all know what CSS easing is, but how do you implement one yourself? Instead of jumping to a physics library immediately, how about implementing the collision detection yourself? How about learning how to handle user interactions via the keyboard, mouse, and touchscreen to control your animation?

Category Course format Language Duration Level
Code, Animation Online English with Subt. 3 Hours 50 Mins Beginner & Intermediate

In this course you’ll learn how to create interactive animations for the web using computer code and math. You’ll gain new tools to express yourself creatively and discover the theory and principles behind motion. You’ll see these concepts and formulas working in real-time, right in front of you in your browser.

This course provides a gentle introduction to core math theory needed to create smooth and realistic motion using Javascript and the HTML5 canvas element. It covers physics formulas like acceleration, velocity, easing, springing and collision detection, while aiming for smooth and engaging animations, not scientifically correct visualizations.

In a world full of Javascript libraries, this course will be of great use for people who want to understand it on a deeper level. These animation principles are timeless and can be applied to any environment, such as HTML, SVG or even 3D with WebGL.

This course is for beginner to intermediate frontend developers, some basic JS knowledge is required.

Modules

What you will learn
in this course.

  • Lessons
  • Lesson 1
    Welcome
    • Introduction
    • Setting up our app
    • HTML5 <canvas> rendering fundamentals
  • Lesson 2
    Basic trigonometry
    • Create a pulsing motion with Math.sin()
    • Circular and elliptical movement
    • Wave motion using two angles
    • Rotate an object towards a point
  • Lesson 3
    Velocity and Acceleration
    • Simple velocity on two axes
    • Angular velocity
    • Using angular velocity to follow the mouse
    • Acceleration and gravity
  • Lesson 4
    Boundaries and friction
    • Screen wrapping
    • Removing objects at boundaries
    • Fountain of regenerating objects
    • Bouncing off walls
    • Friction
  • Lesson 5
    Easing and springing
    • Simple easing
    • Easing to a moving target
    • Springing with friction applied
    • Springing to a moving target
    • Multiple interactive springs following the mouse
    • Chaining springs
  • Lesson 6
    Collision detection
    • Hit testing with bounding box
    • Distance-based collision detection
    • Stacking Boxes
  • Lesson 7
    Conclusion
    • Conclusion

Meet the teacher

Georgi Nikoloff

Frontend & Creative Developer

I am a frontend developer living and working in Berlin. I specialize in developing rich user interfaces and graphics, such as websites, web apps, animations and visualizations.

Now
11.99$
/$100

Course Content

We all know what CSS easing is, but how do you implement one yourself? Instead of jumping to a physics library immediately, how about implementing the collision detection yourself? How about learning how to handle user interactions via the keyboard, mouse, and touchscreen to control your animation?

Features

  • English
  • English, Spanish, French, Japanese, Italian, Portuguese (Machine translation)
  • Beginner & Intermediate
  • Access on mobile and Desktop
  • Full time access
  • Certificate of completion

If you have any questions about this course, please contact us

Start the course and upskill your professional toolkit.

Related courses

Find more courses
like this one.

Currently we have more courses for you View All Courses