Valorant-Charakterauswahl: Charakter-Enthüllungseffekt

王林
Freigeben: 2024-07-22 19:33:33
Original
189 Leute haben es durchsucht

Ich wurde vom Charakterauswahlbildschirm von Valorant inspiriert, um diesen Enthüllungseffekt zu erzielen. Klicken Sie auf die Charakterporträts oder verwenden Sie Ihre Pfeiltasten, um zu interagieren!

Die Einrichtung

Um diesen Effekt zu erzielen, verwenden wir AnimeJS für die Bildanimationen und Granim.js für die Hintergrundverlaufsübergänge

three images of Omen, a valorant Agent

Wir verwenden insgesamt drei Bilder: den PNG-Ausschnitt der Hauptfigur und zwei farbige Overlay-Versionen. Einer dieser farbigen Ausschnitte bleibt hinter dem Hauptbild zurück und der andere schießt nur leicht nach vorne, wodurch dieser federnde Effekt entsteht. Der Hintergrund ist nur ein Canvas-Element, auf das Granim.js abzielt.

Erste Schritte

Zuerst erstellen wir einen Ereignis-Listener, der das Bild unseres Agenten verschiebt, wenn wir die rechte Pfeiltaste drücken:

document.addEventListener("keydown", function (event) { if (event.key === "ArrowRight") { animationRight(); } });
Nach dem Login kopieren

Innerhalb unserer Funktion „animationRight()“ werden wir AnimeJS verwenden, um auf den Stapelcontainer mit drei Bildern unseres Agenten zu zielen und ihn vonvon rechts nach links:
zu verschieben

anime({ targets: ".agent-container", translateX: [ "250px", // Initial state "0px" // Final state ], easing: "easeOutCubic", duration: 250 });
Nach dem Login kopieren

Danach zielen wir auf die Farbe ab, hinter der wir zurückbleiben möchten, und animieren sie. Denken Sie daran, dass alle Bilder „position: absolute“ und „transform: translatorX(-50 %)“ haben, um gestapelt und zentriert zu werden. Daher sollte ihr endgültiger „translateX“-Wert -50 % und nicht 0 sein. Da wir uns vonnach rechts bewegen links, das bedeutet, dass das Bild bei einem größeren Wert als -50 % beginnen muss.

Man kann mit der Lockerung herumspielen, aber ich finde es am besten, zu verhindern, dass dieser erste Tracer herumspringt; Ansonsten sieht die Animation etwas chaotisch aus. Wir werden den anderen Leuchtmarker verwenden, um den „Rückstoß“ zu verkaufen. In beiden Fällen verwenden wir die unglaubliche Spring()-Beschleunigung von AnimeJS, die es einfach macht, „gewichtige“ Ergebnisse zu erzielen.

anime({ targets: ".agent-fb-B", translateX: [ "-32%", // Initial state "-50%" // Final state ], easing: "spring(1, 100, 40, 0)", duration: 100 });
Nach dem Login kopieren

Um das Ganze abzurunden, machen wir das Gleiche mit dem anderen Bild, aber wir machen es „schneller“ als das Hauptbild, bevor es an die gleiche Position gelangt, was ihm ein „zuckendes“ Gefühl verleiht:

anime({ targets: ".agent-fb-S", translateX: [ "-46%", // Initial state "-50%" // Final state ], easing: "spring(1, 100, 10, 20)", duration: 150 });
Nach dem Login kopieren

Farbverläufe!

Mit Granim.js können Sie einen hübschen Verlaufshintergrund einrichten, der die Verlaufsübergänge oder alle Animationen verarbeitet, die Sie für Ihren Hintergrund verwenden möchten

var granimInstance = new Granim({ element: '#canvas-interactive', direction: 'diagonal', states : { "default-state": { gradients: [ ['#B3FFAB', '#12FFF7'], ] }, ... } });
Nach dem Login kopieren

Grundsätzlich müssen Sie nur verschiedene „Zustände“ definieren und wenn Sie die Farben ändern möchten (z. B. bei der Auswahl eines neuen Agenten), müssen Sie nur granimInstance.changeState('new-state'); aufrufen. und das ist es!

Das obige ist der detaillierte Inhalt vonValorant-Charakterauswahl: Charakter-Enthüllungseffekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!