SVG中的动画技术(2)

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

SVG中的动画技术(2)

下面再看一个沿指定路径运动的例子:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"

"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">

<svg width="500" height="300" viewBox="0 0 500 300"

xmlns="http://www.w3.org/2000/svg">

<desc>沿路径运动的例子</desc>

<defs>

<!-- 下面定义渐变颜色 -->

<linearGradient id="grad1" x1="0" y1="0" x2="0" y2="100%" gradientUnits="userSpace">

<stop offset="0%" style="stop-color: #88f;"/>

<stop offset="100%" style="stop-color: #008;"/>

</linearGradient>

</defs>

<rect x="1" y="1" width="498" height="298"

fill="none" stroke="blue" stroke-width="2" />

<!-- 下面的代码画出一个路径 -->

<path d="M100,250 C 100,50 400,50 400,250"

fill="none" stroke="blue" stroke-width="8" />

<!-- 下面的这个圆将沿着定义的轨迹运动 -->

<circle r="25" style="fill:url(#grad1)">

<!-- 定义动画的运动轨迹 -->

<animateMotion dur="6s" repeatCount="indefinite"

path="M100,250 C 100,50 400,50 400,250" rotate="auto" />

</circle>

<text x="145" y="285" style="font-size:12pt">http://lucky.myrice.com</text>

</svg>

上面的例子应用了animateMotion动画元素,其属性设定和前面类似。该例子的效果如图所示:

SVG DOM产生动画的方式是由脚本语言调用DOM对象的属性和方法实现的,在SVG中使用脚本语言和HTML中类似,首先是指定脚本的语言类型:有两种办法可以指定脚本的语言类型

1),在SVG元素里使用contentScriptType属性,可以指定整个文档里使用的缺省脚本语言类型。

语法如下:

<svg contentScripttype="content-type">

content-type指定一种媒体类型,默认是"text/ecmascript"

2),在script元素里使用type属性来声明该段脚本所使用的语言类型。

语法如下:

<script type="content-type">

content-type就是所使用的媒体类型。

SVG里的script元素和HTML里的完全一致。任何script元素里定义的函数都可以应用到整个文档里,也可以通过xlink:href属性,指定一个脚本文件的URL地址,比如:<script type="text/JavaScript" xlink:href="test.js"></script>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有