suchen

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!

Stellungnahme
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
Orbitalmechanik (oder wie ich eine CSS -Keyframes -Animation optimiert habe)Orbitalmechanik (oder wie ich eine CSS -Keyframes -Animation optimiert habe)May 09, 2025 am 09:57 AM

Wie sieht es aus, Ihren eigenen Code neu zu gestalten? John Rhea nimmt eine alte CSS -Animation auseinander, die er geschrieben hat, und geht durch den Denkprozess der Optimierung.

CSS -Animationen: Ist es schwierig, sie zu erstellen?CSS -Animationen: Ist es schwierig, sie zu erstellen?May 09, 2025 am 12:03 AM

CsSanimationsarenotinherenthardbutRequirePractICEANDUnDing-fordertofcsPropertiesandTimingfunktionen.1) StartwithsimpleanimationslikescalingabuttononoversKeyFrames.2) useaSingFunctionslikecubic-BezierForteffects, SuchasabouNects, SuchasabouNects,, zu

@Keyframes CSS: Die am häufigsten verwendeten Tricks@Keyframes CSS: Die am häufigsten verwendeten TricksMay 08, 2025 am 12:13 AM

@KeyFramesispopulardUeToitSverSatility und PowerIncreatingsmoothcsSanimations.KectrickSinclude: 1) DefiningsmoothTransitionSbetTates, 2) AnimatingMultipleProperTiesimultan, 3) mit VendorprefixesforBrowserCompatible, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren

CSS -Zähler: Eine umfassende Anleitung zur automatischen NummerierungCSS -Zähler: Eine umfassende Anleitung zur automatischen NummerierungMay 07, 2025 pm 03:45 PM

CSSCOUSTERSSARUSTOMANAGEAUTOMATICNUMBERINGINWEBDEsigns.1) Sie konzipieren SieForsofcontents, ListItems und CustomNumbering.2) AdvanceduSesincnednumberingSystem.3) CHEFORDIGESINCLUDSERCOMPATIBILIBLEISE.4) CreativeuSinvolvecustInance

Moderne Bildlaufschatten mit scrollengetriebenen AnimationenModerne Bildlaufschatten mit scrollengetriebenen AnimationenMay 07, 2025 am 10:34 AM

Die Verwendung von Scroll -Schatten, insbesondere für mobile Geräte, ist ein subtiles Stück UX, das Chris zuvor abgedeckt hat. Geoff deckte einen neueren Ansatz ab, der die Immobilie der Animationszeit verwendet. Hier ist ein anderer Weg.

Überprüfung der BildkartenÜberprüfung der BildkartenMay 07, 2025 am 09:40 AM

Lassen Sie uns eine kurze Auffrischung durchlaufen. Bildkarten datieren bis zu HTML 3.2, wobei zuerst die serverseitigen Karten und dann die clientseitigen Karten klickbare Regionen über ein Bild mit Karten- und Bereichselementen definiert sind.

Stand der Entwickler: Eine Umfrage für jeden EntwicklerStand der Entwickler: Eine Umfrage für jeden EntwicklerMay 07, 2025 am 09:30 AM

Die Umfrage von State of Devs ist nun offen für die Teilnahme und deckt im Gegensatz zu früheren Umfragen alles außer Code ab: Karriere, Arbeitsplatz, aber auch Gesundheit, Hobbys und mehr. 

Was ist CSS Grid?Was ist CSS Grid?Apr 30, 2025 pm 03:21 PM

CSS Grid ist ein leistungsstarkes Tool zum Erstellen komplexer, reaktionsschneller Weblayouts. Es vereinfacht das Design, verbessert die Zugänglichkeit und bietet mehr Kontrolle als ältere Methoden.

See all articles

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

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung