🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

Smoke.js is a javascript library to make Smoke Effect for web.

Animation Core Java Script

Documentation

Demo

You can play with a live demo here →

Installation

Basic

Copy the smoke.js file into your project and use it with a script tag:

<script src="smoke.js"></script>

That defines a SmokeMachine global that you can use to make smoke (see examples below).

Package Manager

You can also use yarn or npm:

yarn add @bijection/smoke 
npm add @bijection/smoke 

Thern you can import or require smoke.js like this:

import SmokeMachine from '@bijection/smoke'
var SmokeMachine = require('@bijection/smoke')

Usage

Short Example

var ctx = canvas.getContext('2d')  var party = SmokeMachine(ctx) party.addSmoke(500,500) party.start()

Copy-Pastable Example

<canvas id="canvas"></canvas> <script src="smoke.js"></script> <script> 	var canvas = document.getElementById('canvas') 	var ctx = canvas.getContext('2d') 	canvas.width = 1000 	canvas.height = 1000  	var party = SmokeMachine(ctx, [54, 16.8, 18.2])  	party.start() // start animating  	party.addSmoke(500,500,10) // wow we made smoke  	setTimeout(function(){  		party.stop() // stop animating  		party.addSmoke(600,500,100) 		party.addSmoke(500,600,20)  		for(var i=0;i<10;i++){ 			party.step(10) // pretend 10 ms pass and rerender 		}  		setTimeout(function(){ 			party.start() 		},1000)  	},1000) </script>

API

SmokeMachine(context, [r,g,b])

Returns a smoke machine that makes smoke.

  • context — the context of the canvas we wanna draw smoke on
  • [r,g,b] — (optional) the color we want the smoke to be
var party = SmokeMachine(context, [1,5,253])

party.start()

Start Animating!!

party.stop()

Stop animating :(

party.addSmoke(x,y,numberofparticles)

  • x,y — the coords at which the smoke should be created in the canvas
  • numberofparticles — more makes more smoke

party.step(milliseconds)

redaws the smoke as if milliseconds milliseconds have passed


You May Also Like