全部博文(776)
分类: C/C++
2012-09-27 08:22:59
1 SVG属性动画 SVG动画一般通过更改对象属性值来实现。SVG工作组与W3C组织的SYMM(Synchronized MultiMedia WorkingGroup,同步多媒体工作组)合作推出了SVG动画
1 SVG属性动画
SVG动画一般通过更改对象属性值来实现。SVG工作组与W3C组织的SYMM(Synchronized MultiMedia WorkingGroup,同步多媒体工作组)合作推出了SVG动画元素的定义规范。SVG中用于定义动画的元素有5个
移动和旋转动画
移动和旋转动画可以用
拉幕和缩放动画
拉幕和缩放动画都是对图形对象的宽度和高度进行改变而引起的动画效果,可以用
色彩渐变动画
色彩渐变动画是由对象的填充色彩变化而引起的动画效果,可以用
沿路径动画
沿路径动画是指对象沿一定的路径移动,可以用SVG的
顺序与同步动画
同步动画就是多个对象同时进行动作,顺序动画则是根据时间上的先后顺序进行动作。两种动画根据不同的动画类型可以映射为不同的SVG动画元素,最关键的地方在于动画元素中的begin属性值的设定。设置动画顺序通常要将动画元素的id和begin属性值结合起来,如果第二个对象动画(id="anim1")在第一个对象动画(id="anim2)结束后2秒才开始,那么可以设置第二个动画的begin属性为’'animl.end+2s",如果是同步动画则设置为’'animl.begin"。
2 SVG脚本动画
SVG标准允许将JavaScript脚本代码以两种方式来实现:一个是内嵌脚本方式;另一个是外部脚本方式。
内嵌脚本
元素用于在SVG文档中嵌入一段脚本,它的功能几乎和HTML中的的标记一模一样。脚本语言的程序段不属于合法的XML语句,所以需要使用CDATA的嵌入方式,其一般格式是:
元素内嵌脚本属性type="contentype”用MIME的方式指明所用的Script语言的类型。
外部脚本
元素外部脚本属性xlink:href="/
从脚本实现的功能上来说,这两种代码加载方式没有区别,我们可以将共享的脚本代码放在外部连接文件中,把SVG文件个性化的代码嵌在自身的文件中。
SVG文档可以按照DOM接口,通过脚本语言访问各个元素,因此可以动态改变SVG元素的各种属性,包括动画属性,从而可以实现单纯依靠动画属性而无法完成的更为复杂的动画。
更加让人叹为观止的是,SVG文档还支持DOM规范定义的大量的交互事件,如omnouseover、onclick等,而且都可以指派给任何一个SVG元素,从而实现对自身或对其它物件、图像的控制,完成SVG的交互式动画。