1.1.1 • Published 5 years ago

particle-ins v1.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

Particle-ins

Description

Particle-ins is a library to quickly and efficiently create particle effects.

Written in Typescript, uses WebGL for rendering.

Installation

$> npm install particle-ins

Usage

Import the library.

import * as particle-ins from "particle-ins";

Or if you prefer

import { ParticleSystem, ...etc } from "particle-ins";

Demo

Live demo! http://emilsunesson.com/docs/particle-ins

Api

IpsOptions

color: Color in hex

alpha: Alpha 0-1

textures: Custom textures

startOnEntry: Start particle system when canvas enters viewport stops when not in viewport. Default true

To start particle system when startOnEntry is False.

particleSystem.onLoad.subscribe(it => {
    particleSystem.start();
});

Example

let customTexture: ImageItem = {
    image: "../assets/images/snowflake.png",
    key: "snow"
};

let options = new IpsOptions();
options.textures = [snowTexture];
options.color = "cccccc"
    
new ParticleSystem(options, canvas, 1000, 600);

IpsEmitterOptions

startPosition: Min/max position of x and y

velocity: Min/max velocity of x and y

particlesSec: Number of particles emitted per second

lifeTime: lifetime of particles in milliseconds

size: Min/max size

growth: Growth plus value grows minus value shrinks

color: Color in hex

alpha: Alpha 0-1

renderMode: Static or dynamic rendering if static generate particles once otherwise generate continuously

blendmodeSource: Webgl blendmode source

blendmodeTarget: Webgl blendmode target

positionType: Pixel or relative position type

textureKey: Custom texture key

Example

let emitterOptions = new IpsEmitterOptions(
    new IpsCoordinates(-1, 1, 1, 1),
    new IpsCoordinates(-0.5, 0.5, -0.8, -0.8),
    1000,
    2500
);

emitterOptions.size = { min: 3, max: 8 }
emitterOptions.textureKey = "snow";
emitterOptions.positionType = IpsPositiontype.Relative;

particleSystem.addEmitter(emitterOptions);
1.1.1

5 years ago

1.1.0

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago