keySplines
Das keySplines
-Attribut definiert eine Reihe von Bézier-Kurven-Kontrollpunkten, die mit der keyTimes
-Liste verbunden sind und eine kubische Bézier-Funktion darstellen, die den Verlauf des Intervalls steuert.
Dieses Attribut wird ignoriert, es sei denn, das calcMode
-Attribut ist auf spline
gesetzt.
Wenn es Fehler in der keySplines-Spezifikation gibt (schlechte Werte, zu viele oder zu wenige Werte), wird die Animation nicht ausgeführt.
Sie können dieses Attribut mit den folgenden SVG-Elementen verwenden:
Beispiel
<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<circle cx="60" cy="10" r="10">
<animate
attributeName="cx"
dur="4s"
calcMode="spline"
repeatCount="indefinite"
values="60; 110; 60; 10; 60"
keyTimes="0; 0.25; 0.5; 0.75; 1"
keySplines="0.5 0 0.5 1; 0.5 0 0.5 1; 0.5 0 0.5 1; 0.5 0 0.5 1" />
<animate
attributeName="cy"
dur="4s"
calcMode="spline"
repeatCount="indefinite"
values="10; 60; 110; 60; 10"
keyTimes="0; 0.25; 0.5; 0.75; 1"
keySplines="0.5 0 0.5 1; 0.5 0 0.5 1; 0.5 0 0.5 1; 0.5 0 0.5 1" />
</circle>
</svg>
Nutzungshinweise
Wert |
<control-point> [ ;
<control-point> ]* ; ?
|
---|---|
Standardwert | Keiner |
Animierbar | Nein |
Der Attributwert ist eine durch Semikolons getrennte Liste von Kontrollpunktbeschreibungen.
<control-point>
-
Jede Kontrollpunktbeschreibung besteht aus einer Gruppe von vier Werten:
x1 y1 x2 y2
, die die Bézier-Kontrollpunkte für ein Zeitsegment beschreiben. DiekeyTimes
-Werte, die das zugehörige Segment definieren, sind die Bézier-"Ankerpunkte", und diekeySplines
-Werte sind die Kontrollpunkte. Es muss also eine Gruppe von Kontrollpunkten weniger alskeyTimes
geben.Die Werte von
x1 y1 x2 y2
müssen alle im Bereich von 0 bis 1 liegen. - Safari-Probleme
-
keyTimes
-Werte sollten ohne Leerzeichen davor mit einem Semikolon getrennt werden, z.B.:keyTimes="0; 0.25; 0.5; 0.75; 1"
Spezifikationen
Specification |
---|
SVG Animations Level 2 # KeySplinesAttribute |