Bildoben  
aptico-Home | AGB-(c) | SVG-Tutorial Inhalt
Schatten

SVG Tutorial

  svg tutorial index  |  Kapitel 13   

13.1 Animationen erstellen - animate

Durch die Verwendung des Elements animate ist es möglich genau einen Wert eines Attributs oder einer Eigenschaft innerhalb eines bestimmten Zeitablaufs zu verändern.

Das Element, dessen Attributwert geändert werden soll, kann vom animate-Element durch das Attribut xlink:href referenziert werden. Das setzt voraus, dass das zu animierende Element oder Objekt mittels des id-Attributs eindeutig identifizierbar ist.

Eine zweite Möglichkeit besteht darin, das animate-Element innerhalb des zu animierenden Elements zu platzieren. Dazu werden die entsprechenden Elemente mit öffnendem und schließendem Tag, und nicht wie sonst üblich als leeres Element, verwendet (z.B. statt <rect /> verwenden Sie jetzt <rect> .. Bereich für animate .. </rect>).

Beispiel Quellcode


   Grafische Darstellung:   SVG-Darstellung (nur SVG-fähige Browser!)    Screenshot JPG-Grafik
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="200"
  xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Das animate-Element</title>
<desc>Attribut- oder Eigenschaftswerte
zeitgesteuert mit dem animate-Element animieren</desc>
  <defs>
    <style type="text/css">
    <![CDATA[
      text {font-family:Verdana,sans-serif; font-size:36px;
            font-weight:bold; fill:limegreen; stroke:black;}
      ellipse {stroke:black;}
    ]]>
    </style>
  </defs>

  <ellipse id="elli" cx="100" cy="100" rx="48" ry="90"
    style="fill:limegreen;" />
  <animate xlink:href="#elli"
    attributeType="XML" attributeName="rx"
    begin="0s" dur="6s"
    from="48" to="198"
    fill="freeze" />

  <ellipse cx="200" cy="100" rx="48" ry="90"
    style="fill:whitesmoke;">
    <animate
      attributeType="XML" attributeName="rx"
      begin="3s" dur="6s"
      from="48" to="198"
      fill="freeze"  />
  </ellipse>

  <text id="tx" x="20" y="115">SVG animate</text>
  <animate xlink:href="#tx"
    attributeName="opacity"
    begin="0s" dur="9s"
    from="0" to="1"
    fill="freeze" />
</svg>
      

Im obigen Beispiel werden 2 Ellipsen durch die Veränderung ihrer Eigenschaft rx (ihrem Radius zu x-Achse) und ein Text durch Veränderung seiner Eigenschaft opacity (seiner Durchsichtigkeit) animiert. Beachten Sie, dass die Eigenschaft opacity im text-Element nicht ausdrücklich gesetzt ist - das ist auch nicht notwendig.

Die erste, grüne Ellipse wird über Ihre ID vom animate-Element referenziert. Die zweite, "weißrauch"-ige Ellipse beinhaltet das animate-Element als Kind-Element. Der Text wird wieder über seine ID referenziert.

Über die Attribute attributeName und attributeType wird die zu änderende Eigenschaft ausgewählt. Mit Hilfe des Attributs begin legen Sie den Startpunkt der Animation fest, das Attribut dur (duration) bestimmt die Dauer der Animation. Um die Werte der Eingenschaft zu verändern werden die Attribute from und to verwendet, die den Anfangswert und den Endwert für die Eigenschaft festlegen. Das Attribut fill hat in Animationselementen eine besondere Bedeutung. Hiermit wird festgelegt, ob am Ende der Animation das Element mit dem Anfangswert oder dem Endwert für die Eigenschaft angezeigt werden soll.

Da für alle Animationselemente von SVG nahezu die selben Attribute oder Eigenschaften zu verwendet werden können, ist eine detaillierte Übersicht der wichtigsten Attribute, ihrer Bedeutung und Verwendung, ihrer möglichen Werte und dem jeweiligen voreingestellten Wert in den folgenden 4 Kapiteln zu finden.




index  |  Kapitel 13  <<  | 13.1 |  >>  13.2   Attribute zur Zielbestimmung - animAttributeAttrs