tsParticles interaction plugin for dragging particles across the canvas with the mouse/pointer.
@tsparticles/engine (or use the CDN bundle below)tsParticles.load(...)tsParticles.load(...) configThe CDN/Vanilla version JS has one required file in vanilla configuration:
Including the tsparticles.interaction.external.drag.min.js file will export the function to load the interaction
plugin:
loadExternalDragInteraction;
Once the scripts are loaded you can set up tsParticles and the interaction plugin like this:
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadExternalDragInteraction(tsParticles);
await tsParticles.load({
id: "tsparticles",
options: {
interactivity: {
events: {
onClick: {
enable: true,
mode: "drag",
},
},
},
},
});
})();
This package is compatible also with ES or CommonJS modules, firstly this needs to be installed, like this:
$ npm install @tsparticles/interaction-external-drag
or
$ yarn add @tsparticles/interaction-external-drag
Then you need to import it in the app, like this:
const { tsParticles } = require("@tsparticles/engine");
const { loadInteractivityPlugin } = require("@tsparticles/plugin-interactivity");
const { loadExternalDragInteraction } = require("@tsparticles/interaction-external-drag");
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadExternalDragInteraction(tsParticles);
})();
or
import { tsParticles } from "@tsparticles/engine";
import { loadInteractivityPlugin } from "@tsparticles/plugin-interactivity";
import { loadExternalDragInteraction } from "@tsparticles/interaction-external-drag";
(async () => {
await loadInteractivityPlugin(tsParticles);
await loadExternalDragInteraction(tsParticles);
})();
interactivity.events.onHover.mode or interactivity.events.onClick.mode with value "drag"interactivity.modes.drag{
"interactivity": {
"events": {
"onHover": {
"enable": true,
"mode": "drag"
}
},
"modes": {
"drag": {}
}
}
}
tsParticles.load(...) before loadInteractivityPlugin(...)