Advertisement
  1. Code
  2. JavaScript

Particles.js: Steuern der Partikelanzahl und -form

Scroll to top
Read Time: 5 min
This post is part of a series called An Introduction to Particles.js.
Particles.js: Introduction
Particles.js: Motion and Interaction

German (Deutsch) translation by Ines Willenbrock (you can also view the original English article)

Im vorherigen Particles.js-Tutorial wurden verschiedene Funktionen, die die Bibliothek bietet, kurz erläutert und gezeigt, wie Sie mit der Bibliothek beginnen. In diesem Tutorial werde ich alle Aspekte von Particles.js ausführlich behandeln, die sich mit dem physischen Erscheinungsbild der Teilchen befassen.

Anzahl, Farbe und Deckkraft

Das erste, mit dem wir uns befassen werden, ist die Anzahl und Dichte der Teilchen. Die Dichte bestimmt die Anzahl der Partikel, die in einem bestimmten Bereich zusammengepackt werden. Sie ist standardmäßig aktiviert, wobei value_area auf 800 festgelegt ist. Hier ist die JSON, mit der Sie die Anzahl der Partikel steuern können:

1
"number": {
2
  "value": 50, 
3
  "density": {
4
    "enable": true,
5
    "value_area": 500
6
  }
7
}

Wenn Sie enable unter dem Eintrag density auf false setzen, ist die Anzahl der angezeigten Partikel genau 50. Durch die Verdoppelung des Wertes value_area verringert sich die Anzahl der Partikel um etwa die Hälfte.

Es gibt drei Möglichkeiten, die Farben der Partikel festzulegen. Sie können die Farben im HEX-Format, RGB-Format oder HSL-Format festlegen. Aufgrund eines Fehlers in der Bibliothek funktionieren RGB- und HSL-Format nur, wenn Sie den Standardfarbwert aus der Bibliothek entfernen.

Wenn Sie die Partikelfarbe nach dem Zufallsprinzip einstellen möchten, können Sie dies mit dem Wert "random" tun. Um die Farbe zufällig aus einer Liste von Farben festzulegen, müssen Sie die Farben im HEX-Format als Array angeben. Hier ist die JSON, um Farben für Partikel festzulegen:

1
"color": {
2
  "value": "#fff" //set white in HEX (We are using this version)

3
  "value": {r:255, g:255, b:255} //set white in RGB

4
  "value": {h:0, s:100%, l:100%} //set white in HSL

5
  "value": ["#f00", "#0f0", "#00f"] //set red, green and blue randomly

6
  "value": "random" //set colors randomly

7
}

Die opacity-Eigenschaft gibt Ihnen viel Kontrolle. Sie können es auf einen genauen Wert festlegen oder zufällige Werte verwenden, indem Sie "random" auf true setzen. Nicht nur das, sondern Sie können auch die Deckkraft der Partikel animieren. Hier ist der JSON-Code für die opacity-Eigenschaft:

1
"opacity": {
2
  "value": 1,
3
  "random": true, // Set to false in our case

4
  "anim": {
5
    "enable": true,
6
    "speed": 8,
7
    "opacity_min": 0.4,
8
    "sync": false
9
  }
10
}

Wenn Sie "sync" auf true setzen, wird die Deckkraft aller Partikel gleichzeitig animiert. Die Verwendung eines Werts von 0,4 für "opacity_min" stellt sicher, dass die Deckkraft der Partikel während der Animation nie unter 0,4 fällt. Hier ist eine Demo mit Sternen, die sich durch den Raum bewegen. Versuchen Sie, die Anzahl, Farbe oder Deckkraft der Partikel zu ändern, um deren Wirkung zu sehen.

Form und Größe

Particles.js hat fünf verschiedene Werte, um grundlegende Formen zu erstellen. Eine einfache Form wie circle erzeugt ein kreisförmiges Teilchen, triangle erzeugt dreieckige Partikel und edge erzeugt Quadrate. Sie können den Wert polygon verwenden, um ein nb_sides seitiges Polygon zu erstellen, in dem Sie den Wert nb_sides angeben. Um tatsächliche Stern-Formen zu erstellen, können Sie den Shape-Typ auf star setzen. Der stroke-Parameter fügt einen Umriss einer bestimmten Farbe und Breite um alle Partikel hinzu. Der JSON-Code unten erstellt Sechsecke.

1
"shape": {
2
  "type": "polygon",
3
  "stroke": {
4
     "width": 4,
5
     "color": "#fff"
6
  },
7
  "polygon": {
8
     "nb_sides": 6
9
  }
10
}

Es ist auch möglich, Bilder anstelle von Grundformen anzuzeigen. Zuerst müssen Sie den Shape-Typ als image angeben. Danach können Sie die Bildquelle und die gewünschte Höhe und Breite festlegen. Es lohnt sich, daran zu denken, dass Breite und Höhe nicht die Größe der Bildteilchen bestimmen, sondern ihr Seitenverhältnis. Hier ist einige JSON, um Partikel mit Asteroidenbildern zu erstellen:

1
"shape": {
2
  "type": "image",
3
  "image": {
4
     "src": "img/football.png", // Set image path.

5
     "width": 1,   // Width and height don't decide size.

6
     "height": 1   // They just decide aspect ratio.

7
  }
8
}

Die Bibliothek ermöglicht es Ihnen auch, mehrere Formen miteinander zu mischen. Sie können z. B. entscheiden, Kreise, Quadrate und Sechsecke gleichzeitig zu erstellen. In diesem Fall müssen Sie nur ein Array mit all diesen Formen übergeben.

1
"type": ["circle","edge","polygon"]

Die Size-Eigenschaft verfügt über alle Optionen der Deckkrafteigenschaft. Sie können die Größe nach dem Zufallsprinzip festlegen und die Größe einzelner Partikel animieren. Sehen Sie sich den folgenden JSON-Code genau an.

1
"size": {
2
  "value": 25, 
3
  "random": true,
4
  "anim": {
5
    "enable": true,
6
    "speed": 20,
7
    "size_min": 10,
8
    "sync": false
9
  }
10
}

Wenn Sie random auf false setzen, haben alle Partikel eine Größe von 25. Wenn der random auf true gesetzt ist, dient die Größe als maximale Größengrenze für Partikel. Wenn Sie innerhalb der Animation sync auf true setzen, wird die Größe aller Elemente gleichzeitig geändert. Sie sollten die Demo öffnen und verschiedene Werte für die Anzahl der Polygonseiten, Animationen und andere Eigenschaften ausprobieren, um zu sehen, wie sie sich auf das Endergebnis auswirken.

Verknüpfen von Partikeln

Wenn Partikel nahe genug sind, können Sie Verbindungslinien zwischen ihnen zeichnen, indem Sie die line_linked-Eigenschaft aktivieren.

Diese Eigenschaft verfügt über vier zusätzliche Werte. Die distance-Eigenschaft gibt den maximalen Abstand an, bis zu dem Linien gezeichnet werden sollen. Sie können die Farbe (color) auch als HEX-Zeichenfolge festlegen. Die Deckkraft der Linien hängt vom Abstand zwischen Partikeln ab. Der Wert, den Sie als opacity angeben, ist die Deckkraft von Linien, wenn Partikel wirklich nahe beieinander liegen. Schließlich bestimmt die Breite (width), wie breit Ihre Linien sein werden. Hier ist der JSON-Ausschnitt für die begleitende Demo.

1
"line_linked": {
2
  "enable": true,
3
  "distance": 200,
4
  "color": "#fff",
5
  "opacity": 1,
6
  "width": 4
7
}

Sie können sehen, dass die Linien verschwinden, sobald der Abstand zwischen Partikeln mehr als 200 px wird.

Letzte Gedanken

Ich habe versucht, alles abzudecken, was Sie wissen müssen, um die Form, Größe, Farbe und fast jede andere physikalische Eigenschaft von Partikeln zu ändern. Die Beispiele in diesem Tutorial veranschaulichen deutlich, wie einfach es ist, diese Bibliothek zu verwenden. Wenn Sie jemals eine grundlegende Partikelbibliothek benötigen, sollten Sie auf jeden Fall Particles.js ausprobieren.

Das nächste Tutorial wird Ihnen beibringen, wie Sie die Bewegung von Teilchen und ihre Interaktion untereinander und mit Ihnen steuern können. Wenn Sie Fragen zu diesem Tutorial haben, hinterlassen Sie bitte einen Kommentar.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.