JavaScript — Как создать красивый эффект фейерверка с помощью tsParticles


Заготовка фейерверка

Начиная с версии 2.2.0 пресет фейерверков tsParticles имеет новую конфигурацию для более реалистичного эффекта.

Демонстрацию можно посмотреть здесь

Попробуйте предварительный просмотр при 0.5x, если частицы выходят за пределы холста, лучше увидеть это на CodePen.

Как использовать предустановку фейерверков

Ванильный JavaScript

Есть два способа установки пресета фейерверков, как вы можете увидеть в readme пакета, но я опишу более простой.

<script src="https://cdn.jsdelivr.net/npm/tsparticles-preset-fireworks@2/tsparticles.preset.fireworks.bundle.min.js"></script>
Войти в полноэкранный режим Выйти из полноэкранного режима

После этого просто добавьте этот код JavaScript для загрузки и запуска эффекта

(async () => {
  await tsParticles.load("tsparticles", {
    preset: "fireworks",
  });
})();
Войти в полноэкранный режим Выход из полноэкранного режима

React.js

Для React.js вам необходимо установить эти пакеты:

npm install react-particles tsparticles-preset-fireworks
Войти в полноэкранный режим Выйти из полноэкранного режима

или

yarn add react-particles tsparticles-preset-fireworks
Войти в полноэкранный режим Выйти из полноэкранного режима

И скрипт может быть загружен следующим образом:

import Particles from "react-particles";
import { loadFireworksPreset } from "tsparticles-preset-fireworks";

function fireworks(props) {
  // this customizes the component tsParticles installation
  const customInit = async (engine) => {
    // this adds the preset to tsParticles, you can safely use the
    await loadFireworksPreset(engine);
  };

  const options = {
    preset: "fireworks"
  };

  return <Particles options={options} init={customInit} />;
}

export default fireworks;
Войти в полноэкранный режим Выйти из полноэкранного режима

Preact / Inferno

Существуют также пакеты для Preact и Inferno, просто замените react на preact или inferno в названии пакета и его использовании.

Vue.js (2.x и 3.x)

Поскольку пакеты Vue.js 2.x и 3.x имеют разные инструкции, перед этим я покажу необходимый код

<Particles id="tsparticles" :particlesInit="particlesInit" :options="particlesOptions" />
Войти в полноэкранный режим Выйти из полноэкранного режима
const particlesOptions = {
  preset: "fireworks",
};

async function particlesInit(engine: Engine): Promise<void> {
  await loadFireworksPreset(engine);
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Vue 2.x

Для Vue.js 2.x вам необходимо установить эти пакеты:

npm install vue2-particles tsparticles-preset-fireworks
Войти в полноэкранный режим Выйти из полноэкранного режима

или

yarn add vue2-particles tsparticles-preset-fireworks
Войти в полноэкранный режим Выйти из полноэкранного режима

и в app.js

import Particles from "vue2-particles";

Vue.use(Particles);
Войти в полноэкранный режим Выйти из полноэкранного режима

Vue 3.x

Для Vue.js 3.x вам необходимо установить эти пакеты:

npm install vue3-particles tsparticles-preset-fireworks
Войти в полноэкранный режим Выйти из полноэкранного режима

или

yarn add vue3-particles tsparticles-preset-fireworks
Войти в полноэкранный режим Выйти из полноэкранного режима

и в app.js

import Particles from "vue3-particles";

createApp(App).use(Particles)
Войти в полноэкранный режим Выйти из полноэкранного режима

Angular

Для Angular вам необходимо установить эти пакеты:

npm install ng-particles tsparticles-engine tsparticles-preset-fireworks
Войти в полноэкранный режим Выйти из полноэкранного режима

или

yarn add ng-particles tsparticles-engine tsparticles-preset-fireworks
Войти в полноэкранный режим Выйти из полноэкранного режима

И добавьте этот тег в HTML-файл

<ng-particles [id]="id" [options]="particlesOptions" [particlesInit]="particlesInit"></ng-particles>
Войти в полноэкранный режим Выйти из полноэкранного режима

и в соответствующий файл TypeScript этот код

import { loadFireworksPreset } from "tsparticles-preset-fireworks"; // top of file, with other imports

const particlesOptions = {
  preset: "fireworks",
};

async function particlesInit(engine: Engine): Promise<void> {
  await loadFireworksPreset(engine);
}
Войти в полноэкранный режим Выйти из полноэкранного режима

и в файле модуля приложения добавьте этот импорт и использование

import { NgParticlesModule } from "ng-particles"; // top of the file, with other imports

@NgModule({
  declarations: [
    /* AppComponent */
  ],
  imports: [
    /* other imports */ NgParticlesModule /* NgParticlesModule is required*/
  ],
  providers: [],
  bootstrap: [
    /* AppComponent */
  ]
})
export class AppModule {
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Svelte

Тег для добавления в HTML

<Particles
        id="tsparticles"
        options={particlesOptions}
        particlesInit={particlesInit}
/>
Войти в полноэкранный режим Выйти из полноэкранного режима

и свойства в коде JavaScript

import Particles from "svelte-particles";
import { loadFireworksPreset } from "tsparticles-preset-fireworks";

let particlesOptions = {
  preset: "fireworks",
};

let particlesInit = async (engine) => {
  await loadFireworksPreset(engine);
};
Вход в полноэкранный режим Выход из полноэкранного режима

Другие фреймворки пользовательского интерфейса

Пакеты также доступны для: Riot.js, Solid, Web Components и jQuery. Более подробные инструкции по установке вы можете найти здесь

Социальные контакты

Для получения любой другой информации или помощи вот наши официальные социальные каналы

  • Discord
  • Slack
  • Telegram
  • Reddit

Или вы можете открыть проблему или обсуждение на GitHub

matteobruni / tsparticles

tsParticles — Легко создавайте настраиваемые эффекты частиц JavaScript, взрывы конфетти и анимацию фейерверков и используйте их в качестве анимированных фонов для вашего сайта. Готовые к использованию компоненты доступны для React.js, Vue.js (2.x и 3.x), Angular, Svelte, jQuery, Preact, Inferno, Solid, Riot и Web Components.

tsParticles — Частицы TypeScript

Легкая библиотека TypeScript для создания частиц. Не содержит зависимостей (*), готова к работе в браузере и совместима сReact.js, Vue.js (2.x и 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.js, Solid.js и веб-компонентами.


Оглавление

⚠️⚠️ Это руководство относится к предстоящей версии v2, документацию по версии v1 читайте здесь ⚠️⚠️

  • Использование для вашего сайта
    • Установка библиотеки
  • Официальные компоненты для некоторых наиболее используемых фреймворков
    • Angular
    • Inferno
    • jQuery
    • Preact
    • ReactJS
    • RiotJS
    • SolidJS
    • Svelte
    • VueJS 2.x
    • VueJS 3.x
    • Веб-компоненты
    • WordPress
  • Пресеты
    • Большие круги
    • Пузырьки
    • Конфетти
    • Огонь
    • Светлячок
    • Фейерверк
    • Фонтан
    • Ссылки
    • Морской анемон
    • Снег
    • Звезды
    • Треугольники
  • Шаблоны и ресурсы
  • Демо / Генератор
    • Символы как частицы
    • Соединения при наведении мыши
    • Полигональная маска
    • Анимированные звезды
    • Нянь-кот, летающий на прокручивающихся звездах
    • Частицы фоновой маски
  • Видеоуроки
  • Переход с Particles.js
  • Плагины/настройки
  • Графики зависимостей
  • Спонсоры

Вы хотите использовать это на своем сайте?

Эта библиотека…

Посмотреть на GitHub

Оцените статью
devanswers.ru
Добавить комментарий