tsParticles interaction plugin for light effect.
@tsparticles/engine (or use the CDN bundle below)loadInteractivityPlugin(tsParticles) and loadLightInteraction(tsParticles) before tsParticles.load(...)"light" in interactivity events and configure interactivity.modes.lightThe CDN/Vanilla version JS has one required file in vanilla configuration:
Including the tsparticles.interaction.light.min.js file will export the function to load the interaction plugin:
loadLightInteraction
Once the scripts are loaded you can set up tsParticles and the interaction plugin like this:
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadLightInteraction(tsParticles);
await tsParticles.load({
id: "tsparticles",
options: {
/* options */
},
});
})();
This package is compatible also with ES or CommonJS modules, firstly this needs to be installed, like this:
$ npm install @tsparticles/interaction-light
or
$ yarn add @tsparticles/interaction-light
Then you need to import it in the app, like this:
const { tsParticles } = require("@tsparticles/engine");
const { loadInteractivityPlugin } = require("@tsparticles/plugin-interactivity");
const { loadLightInteraction } = require("@tsparticles/interaction-light");
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadLightInteraction(tsParticles);
})();
or
import { tsParticles } from "@tsparticles/engine";
import { loadInteractivityPlugin } from "@tsparticles/plugin-interactivity";
import { loadLightInteraction } from "@tsparticles/interaction-light";
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadLightInteraction(tsParticles);
})();
interactivity.events.onHover.mode or interactivity.events.onClick.mode with value "light"interactivity.modes.lightinteractivity.modes.light properties| Key | Type | Default | Notes |
|---|---|---|---|
area.radius |
number |
1000 |
Light interaction radius |
area.gradient.start |
color |
Gradient start color | |
area.gradient.stop |
color |
Gradient stop color | |
shadow.color |
color |
"#000000" |
Shadow/tint color |
shadow.length |
number |
2000 |
Shadow projection length |
{
"interactivity": {
"events": {
"onHover": {
"enable": true,
"mode": "light"
}
},
"modes": {
"light": {
"area": {
"radius": 700,
"gradient": {
"start": "#ffffff",
"stop": "#000000"
}
},
"shadow": {
"color": "#000000",
"length": 1400
}
}
}
}
}
tsParticles.load(...) before both loadInteractivityPlugin(...) and loadLightInteraction(...)