Vor kurzem möchte ich eine Webseite erstellen und einige der DEMOs, die ich während des HTML5-Lernprozesses erstellt habe, in eine Sammlung einfügen. Es wäre jedoch zu hässlich, nur eine Webseite zu erstellen und alle DEMOs auf einer zusammenzufassen um eins. Ich dachte nur, da ich Canvas gelernt habe, lasst uns mit dem Browser herumspielen und eine kleine Eröffnungsanimation erstellen.
Nachdem ich eine Weile über die Wirkung der Eröffnungsanimation nachgedacht hatte, entschied ich mich für die Verwendung von Partikeln, weil ich denke, dass Partikel mehr Spaß machen. Ich erinnere mich noch daran, dass es im ersten technischen Blogbeitrag, den ich geschrieben habe, um die Partikelisierung von Text und Bildern ging: Text und Bilder partikelisieren Damals habe ich nur lineare Bewegungen gemacht und einen kleinen 3D-Effekt hinzugefügt. Die Übungsformel ist einfach. Deshalb wollte ich diese Eröffnungsanimation einfach dynamischer gestalten.
Gehen Sie zuerst zur DEMO: http://2.axescanvas.sinaapp.com/demoHome/index.html
Ist der Effekt dynamischer als eine lineare Bewegung? Und es ist ganz einfach, vergessen Sie nicht den Titel dieses Blogbeitrags, eine kleine Formel, ein großer Spaß. Um einen solchen Effekt zu erzielen, brauchen wir lediglich unsere Mittelschule. . Oder das Physikwissen in der High School, die Formeln für beschleunigte und verzögerte Bewegung. Es ist also wirklich die kleine Tropfenformel. Der Originalposter spielt gerne mit ein paar coolen Dingen herum, obwohl er sie bei der Arbeit vielleicht nicht benutzt, aber der Spaß ist wirklich faszinierend. Darüber hinaus können Sie dadurch auch Ihre Programmierfähigkeiten stärken.
Kommen wir ohne weitere Umschweife zum Thema. Lassen Sie mich kurz das Prinzip erklären~~~
Der Kerncode der Teilchenbewegung ist genau dieser:
x und y sind die Positionen der Partikel, vx ist die horizontale Geschwindigkeit der Partikel und vy ist die vertikale Geschwindigkeit der Partikel. Es spielt keine Rolle, ob Sie nexttox oder ähnliches kennen, es sind nur temporäre Variablen . Tox und Toy sind die Zielorte der Partikel.
Geben Sie zunächst allen Partikeln ein Ziel, das weiter unten besprochen wird. Das heißt, Sie möchten, dass das Teilchen den Ort erreicht, und definieren dann eine Variable za als Beschleunigung. Wenn Sie den spezifischen Wert wissen möchten, erhalten Sie die ungefähren Parameter durch weitere Tests es fühlt sich ungefähr gleich an. za ist die Beschleunigung der Linie zwischen dem Partikel und dem Ziel. Daher können wir die horizontale Beschleunigung und die vertikale Beschleunigung des Partikels anhand der Position des Partikels und der Position des Ziels durch einfache trigonometrische Funktionen berechnen
Nachdem wir nun über das Bewegungsprinzip gesprochen haben, sprechen wir über die spezifische Implementierung der obigen Animation: Initialisierung der Animation, Zeichnen der gewünschten Wörter oder Bilder auf eine Leinwand außerhalb des Bildschirms und Erhalten der Pixel der Off- Bildschirmleinwand über die getImageData-Methode. Verwenden Sie dann eine Schleife, um den gezeichneten Bereich auf der Leinwand außerhalb des Bildschirms zu finden. Da der Datenwert in imageData ein RGBA-Array ist, gehen wir davon aus, dass der letzte Wert, dh die Transparenz, größer als 128 ist gezogen. Ermitteln Sie dann den xy-Wert des Bereichs, um zu verhindern, dass zu viele Partikelobjekte eine Seitenverzögerung verursachen. Bei der Aufnahme von Pixeln erhöhen sich der x-Wert und der y-Wert jeweils um 2, wodurch sich die Anzahl verringert Partikel.