Hacken

Mar 11, 2025 am 10:57 AM

Hacken

Dieser Artikel befasst sich mit der Manipulation von CSS -Animationen und wird speziell mit den Herausforderungen des Neustarts und Verlangsamens von Animationen ohne Verwendung von JavaScript eingehen. Der Autor erzählt von ihrer Erfahrung auf dem Aufbau eines CSS-Spiels mit Wolfenstein 3D-inspiriertem Spiel, wobei zwei besonders schwierige Animationsprobleme hervorgehoben werden: Auslöser einer Waffenanimation auf feindlichen Klicks und der Umsetzung eines dramatischen Zeitlups für den endgültigen Treffer eines Chefs.

Das Kernproblem dreht sich um den Umgang mit Animationszuständen des Browsers. Einfaches Hinzufügen oder Ändern von Animationseigenschaften, während eine Animation bereits ausgeführt wird, starten oder verlangsamen Sie sie nicht immer wie erwartet.

Problem 1: Animationen wiederholen

Der Autor untersucht mehrere Ansätze zur Wiederholung von Animationen:

  • Mehrere Kontrollkästchen (ineffektiv): Die Verwendung separater Kontrollkästchen für jeden Animationsversuch schlägt fehl, da CSS nur die vorhandene Animation fortsetzt und nicht neu gestartet wird.
  • Animationsklonen: Erstellen verschiedener Animationsnamen ( spin1 , spin2 ) für jeden Auslöser funktioniert, erfordert jedoch eine sorgfältige CSS -Regelreihenfolge.
  • Anhang anhängen: Das Hinzufügen der gleichen Animation in der Eigenschaft animation-name fungiert auch, kann jedoch zu unerwartetem Verhalten mit animation-fill-mode: forwards führen.

Der wichtigste Mitnehmen ist, dass Sie eine CSS -Animation nicht direkt neu starten können. Sie müssen eine neue hinzufügen.

Problem 2: Zeitlupe

Einfaches Ändern animation-duration während eine Animation ausführt, führt zu Jarring-Sprüngen. Der Browser wendet die neue Dauer aus dem Start der Animation an, nicht aus seinem aktuellen Zustand.

Es werden mehrere Ansätze untersucht:

  • Direkte Änderung animation-duration (unwirksam): Veränderung animation-duration Mitte der Animation führt zu visuellen Störungen.
  • Eine langsamere Animation pausieren und anhängen: Die ursprüngliche Animation pausieren und eine langsamere mit demselben Startpunkt hinzufügen, führt aufgrund des unvorhersehbaren Pausepunkts immer noch zu Sprüngen.
  • Verwenden benutzerdefinierter Eigenschaften: Eine komplexere Methode verwendet benutzerdefinierte Eigenschaften ( --angle1 , --angle2 ), um den Fortschritt der Animation zu verfolgen und sich nahtlos zwischen Animationen mit unterschiedlichen Dauern zu wechseln. Dies erfordert jedoch die Browser -Unterstützung für @property .
  • Die "Zahnradverschiebung" -Technik: Diese clevere Technik verwendet verschachtelte Divs mit jeweils ihre Animation, um zwischen Animationsgeschwindigkeiten zu wechseln. Es ist animationsspezifisch und verallgemeinert nicht gut.
  • JavaScript -Lösungen: JavaScript bietet robustere Lösungen für den Umgang mit Animationsfortschritt und den nahtlosen Übergang zwischen verschiedenen Animationsgeschwindigkeiten und bietet Flexibilität für komplexe Animationen.

Der Artikel schließt mit der Anerkennung der Inspiration von anderen CSS-Projekten und einem umfassenden Überblick über die Herausforderungen und Lösungen, die bei der Manipulation von CSS-Animationen verbunden sind. Der Autor ermutigt die Leser, die angegebenen Beispiele zu erkunden und ihre Gedanken zu teilen.

Das obige ist der detaillierte Inhalt vonHacken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1263
29
C#-Tutorial
1237
24
Google -Schriftarten variable Schriftarten Google -Schriftarten variable Schriftarten Apr 09, 2025 am 10:42 AM

Ich sehe, dass Google -Schriftarten ein neues Design (Tweet) ausgelöst haben. Im Vergleich zur letzten großen Neugestaltung fühlt sich dies viel iterativer an. Ich kann den Unterschied kaum erkennen

So erstellen Sie einen animierten Countdown -Timer mit HTML, CSS und JavaScript So erstellen Sie einen animierten Countdown -Timer mit HTML, CSS und JavaScript Apr 11, 2025 am 11:29 AM

Haben Sie jemals einen Countdown -Timer für ein Projekt benötigt? Für so etwas ist es möglicherweise natürlich, nach einem Plugin zu greifen, aber es ist tatsächlich viel mehr

HTML -Datenattributehandbuch HTML -Datenattributehandbuch Apr 11, 2025 am 11:50 AM

Alles, was Sie schon immer über Datenattribute in HTML, CSS und JavaScript wissen wollten.

Ein Beweis für das Konzept, um Sass schneller zu machen Ein Beweis für das Konzept, um Sass schneller zu machen Apr 16, 2025 am 10:38 AM

Zu Beginn eines neuen Projekts erfolgt die SASS -Zusammenstellung im Blinzeln eines Auges. Dies fühlt sich gut an, besonders wenn es mit Browsersync kombiniert ist, das nachlädt

Wie wir eine statische Site erstellt haben, die Tartan -Muster in SVG erzeugt Wie wir eine statische Site erstellt haben, die Tartan -Muster in SVG erzeugt Apr 09, 2025 am 11:29 AM

Tartan ist ein gemustertes Tuch, das normalerweise mit Schottland verbunden ist, insbesondere mit ihren modischen Kilts. Auf Tartanify.com haben wir über 5.000 Tartan gesammelt

So erstellen Sie Vue -Komponenten in einem WordPress -Thema So erstellen Sie Vue -Komponenten in einem WordPress -Thema Apr 11, 2025 am 11:03 AM

Mit der Inline-Template-Anweisung können wir reichhaltige Vue-Komponenten als fortschreitende Verbesserung gegenüber vorhandenem WordPress-Markup erstellen.

PHP ist A-OK für die Vorlagen PHP ist A-OK für die Vorlagen Apr 11, 2025 am 11:04 AM

PHP -Vorlagen erhält oft einen schlechten Rap für die Erleichterung von unterdurchschnittlichem Code - aber das muss nicht der Fall sein. Schauen wir uns an, wie PHP -Projekte eine Basis durchsetzen können

Programmieren von Sass, um zugängliche Farbkombinationen zu erstellen Programmieren von Sass, um zugängliche Farbkombinationen zu erstellen Apr 09, 2025 am 11:30 AM

Wir sind immer darauf aus, das Web zugänglicher zu machen. Farbkontrast ist nur Mathematik, sodass SASS dazu beitragen kann, Kantenfälle zu bedecken, die Designer möglicherweise verpasst haben.

See all articles