- Easy to use It takes only a dozen lines of code to create a particle animation effect.
- Multiple effects Use Proton to create flames, fireworks, bullets, explosions, and more.
- Any scene You can use it in frameworks such as
- Efficient rendering Its rendering efficiency is very high, you can render tens of thousands of particles in the page.
- Simulated physics Proton can simulate various physical properties including gravity and Brownian motion.
- Several renderers Proton provides a variety of renderers, of course you can also customize your own renderer
CanvasRenderer- Proton's canvas renderer
DomRenderer- Proton's dom renderer, supporting hardware acceleration.
WebGLRenderer- Proton's webgl renderer.
PixelRenderer- Proton's pixel renderer, It can implement pixel animation.
EaselRenderer- Easeljs proton renderer.
EaselRenderer- Pixi.js proton renderer.
CustomRenderer- Use a custom renderer that can be applied to any scene.
Install using npm
Note: NPM package-name has been changed from
npm install proton-engine --save
OR include in html
Proton is very simple to use, a dozen lines of code can create a particle animation.
const proton = ;const emitter = ;//set Rateemitterrate = Proton 01;//add Initializeemitter;emitter;emitter;//add Behaviouremitter;emitter;//set emitter positionemitterpx = canvaswidth / 2;emitterpy = canvasheight / 2;emitter;//add emitter to the protonproton;// add canvas rendererconst renderer = canvas;proton;
Proton.getSpan) is a very important concept of the Proton engine, it's everywhere. If you understand its usage, you can create almost any desired effect!
If you want to create wind, rain, or snow, etc, you can use the
emitter.preEmitmethod to pre-render the scene.
Proton.Colorat the same time. I suggest you'd better use the
Proton.Cyclonebehavior, you can make vortex effects with Cyclone. Demo please check here.
proton.fpsIn most cases, you don't need to set this property. You can set this property when the game engine has fixed fps or some browsers have a higher refresh rate.
Use Euler integration calculation is more accurate (default false)
Proton.USE_CLOCK = false or true;.
Proton has now been upgraded to the v4 version. Performance has been greatly improved and api also has some improvements. For more details, please check here.
node is a dependency, use terminal to install it with:
git clone git://github.com/drawcall/Proton.git...npm installnpm run build
And run example
Detailed changes for each release are documented in the release notes.
Proton is released under the MIT License. http://www.opensource.org/licenses/mit-license