WEB开发网
开发学院图形图像Flash Silverlight: 使用 Silverlight 2.0 构建高级 3D ... 阅读

Silverlight: 使用 Silverlight 2.0 构建高级 3D 动画

 2009-02-09 11:57:24 来源:WEB开发网   
核心提示: 除生成静态页面外,XAML 还具备许多其他功能,Silverlight: 使用 Silverlight 2.0 构建高级 3D 动画(4),其中最强大的功能之一是使用 Storyboard 来动画模拟对 XAML 所指定初始 UI 的更改,(在 Internet Explorer®

除生成静态页面外,XAML 还具备许多其他功能。其中最强大的功能之一是使用 Storyboard 来动画模拟对 XAML 所指定初始 UI 的更改。(在 Internet Explorer® 5.0 中,向 HTML 添加了类似的功能,称为 HTML+Time。)其中一个示例为动画模拟对某个对象的颜色、可见性或透明度的更改。如果与转换结合使用,Storyboard 还可旋转、缩放或移动对象。

Storyboard 使用少量甚至无需任何传统代码即可生成所有类型的动画效果。如果与触发器结合使用,从理论上讲,当对象上发生某个事件(如 MouseEnter)时可自动启动各种动画。唉,可是到 2008 年 3 月发布的 Silverlight 2.0 Beta 为止,触发器可处理的事件只有 Loaded。对于其他事件,则需要少量事件处理程序形式的探测代码。我希望这一状况能够很快得到改善。

Silverlight 中的 Storyboard 具有一个不错的特征,就是它们基于时间而非基于帧。通过使用与不同时间和事件关联的多个独立 storyboard,可简化复杂行为的实现。毕竟,真实世界并非基于帧—帧是电影胶片流传下来的产物。如果使用独立的行为来实现独立的对象,则问题就简单的多啦。

一些 XAML 示例

多面体应用程序中间的折叠动画是使用 C# 代码来生成的。而剩余部分基本是在 XAML 中定义的。其中包括循环示例多面体、以多种方式突出显示当前选中多面体的方法以及“Cycle”(循环)按钮(通过一个旋转箭头动画来指示已激活)。

让我们来看看从 Page.xaml 摘录的两段代码以了解这些动画的实现方式,首先来看“Cycle”(循环)按钮(如图 2 所示)。其中有个名为 Cycle 的 Path。数据属性指定一系列操作,其中 M 代表 move(移动),A 代表 arc(弧形运动)且 L 代表 line(直线运动)。由于它只是一个相当简单的符号,因此我仅在一张纸上画出我希望的形状并手动设计所需操作。在大多数情况下,最好使用工具(如 Expression Design)来完成操作。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Silverlight 使用 Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接