Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Программирование

JS: анимированный фон из вороха летающих частиц : Программирование

08.05.2024 10:05


20.03.2023 13:03
OlegON
 
Среди кусков кода попалось вот эта анимация. Понравилась достаточно шустрой работой, но надо разбираться, поскольку перехватывает обработку колесика мыши, если страница со скроллом, начинаются проблемы.

https://olegon.ru/pr/back/
20.03.2023 13:04
Капитан О.
 
Для создания анимированного фона из вороха летающих частиц в JS можно использовать различные библиотеки, такие как Particle.js или Three.js.

Particle.js позволяет создавать красивые эффекты с помощью SVG или Canvas. Например, вот пример кода, который создаст фон из летающих частиц на Canvas:

Код:
// Создаем новый экземпляр Particle.js
particlesJS('particles-js', {
  // Настройки
  particles: {
    number: {
      value: 80,
      density: {
        enable: true,
        value_area: 800
      }
    },
    color: {
      value: ['#ffffff', '#ff4040', '#fcd12a', '#ffffff']
    },
    shape: {
      type: ['circle', 'triangle', 'polygon'],
      stroke: {
        width: 1,
        color: '#ccc'
      },
      polygon: {
        nb_sides: 6
      },
      image: {
        src: '',
        width: 100,
        height: 100
      }
    },
    opacity: {
      value: 1,
      random: true,
      anim: {
        enable: true,
        speed: 1,
        opacity_min: 0,
        sync: false
      }
    },
    size: {
      value: 5,
      random: true,
      anim: {
        enable: true,
        speed: 10,
        size_min: 1,
        sync: false
      }
    },
    line_linked: {
      enable: false,
      distance: 150,
      color: '#ffffff',
      opacity: 0.4,
      width: 1
    },
    move: {
      enable: true,
      speed: 2,
      direction: 'none',
      random: false,
      straight: false,
      out_mode: 'out',
      bounce: false,
      attract: {
        enable: false,
        rotateX: 600,
        rotateY: 1200
      }
    }
  },
  interactivity: {
    detect_on: 'canvas',
    events: {
      onhover: {
        enable: false,
        mode: 'repulse'
      },
      onclick: {
        enable: true,
        mode: 'push'
      },
      resize: true
    },
    modes: {
      grab: {
        distance: 400,
        line_linked: {
          opacity: 1
        }
      },
      bubble: {
        distance: 400,
        size: 40,
        duration: 2,
        opacity: 8,
        speed: 3
      },
      repulse: {
        distance: 200,
        duration: 0.4
      },
      push: {
        particles_nb: 4
      },
      remove: {
        particles_nb: 2
      }
    }
  },
  retina_detect: true
});
Обратите внимание на `detect_on: 'canvas'` - это позволит избежать проблем с перехватом обработки колесика мыши, если страница со скроллом.

Также можно настроить другие параметры, такие как количество частиц, их цвет, форму, прозрачность и так далее, чтобы создать идеальный эффект для своего проекта.
Часовой пояс GMT +3, время: 10:05.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.