高效使用SILVERLIGHT动画

高效使用SILVERLIGHT动画,第1张

概述微软的人立方1.1版本终于发布了,我很荣幸参与其中。从接触这个TASK开始就决定要用SL来实现,正好赶上了SL2发布的快车。感兴趣的朋友可以看看这里,http://renlifang.msra.cn/news.aspx.    SL2还是个不错的东西,我没有用过FLASH(FLASH10和SL2发布没差几天),使用SL2也是项目需要。对于我这样从来没有使用过类似软件的程序员来说,SL2上手非常的容

微软的人立方1.1版本终于发布了,我很荣幸参与其中。从接触这个TASK开始就决定要用SL来实现,正好赶上了SL2发布的快车。感兴趣的朋友可以看看这里,http://renlifang.msra.cn/news.aspx. 

 

SL2还是个不错的东西,我没有用过FLASHFLASH10SL2发布没差几天),使用SL2也是项目需要。对于我这样从来没有使用过类似软件的程序员来说,SL2上手非常的容易,一切是那么顺手,比如使用C#语言。再加上BLEND那就完美了。 

 

在如今的网站开发中,你要是不会SLFLASH…RIA工具,你都不好意思跟人家打招呼,至少也得会使用AJAX。动画效果的交互就是RIA的核心。在这里,我主要说说SL2构建绚丽动画的几个高效方法。 

 

1.  使用Visual State状态切换

简单的例子:实现一个按钮,鼠标HOVER后,边框变大。

首先,画出按钮的基本轮廓。

 

选中按钮后,为它添加两个状态,normal状态(按钮正常状态)和MouSEOver状态(鼠标HOVER状态)

 

选中MouSEOver状态,为MouSEOver状态添加动画。在Objects and Timeline中点击Show Timeline,打开动画编辑框。将时间轴移至1s处。在PropertIEstransform面板中调整Scale参数,x:2,y:2. 时间轴上自动插入了一个关键帧。你可以在这里添加更酷更炫的动画。

 

在按钮的MouseEnterMouseLeave事件中进行状态转换。

        

2.  Storyboard模板

Blend中创建一个Story,并以此作为动画模板,在代码中简单地修改Story的各个参数,以达到对动画动态调整的效果。

简单的例子:滑块在直线上滑动到指定位置。

先画出基本控件,一条居中的直线和一个滑块indicator

 

 

创建一个新的Story(名称为SlipStory),将事件轴移动至1s处,在PropertIEs中将Translate参数修改为x:100.(100只是一个预设值,实际情况中要滑动到什么地方是动态获取的),时间轴上自动插入了一个关键帧。 

 

动画完成后,加入如下代码来修改滑块滑动的位置。

3.  高效而朴素的代码

在熟练掌握各种动画的代码创建方法之后,就可以使用代码来创建所有的动画,缺点就是不易调试,没有Blend中的所见即所得的效果,对新人来说必然不方便。但是如果熟练使用,可以做出更复杂更自由的动画。

 

下面的代码用来创建一段移动的动画,持续时间为1s

 

这是我们移动函数接口 

创建一个新的Story,并检查是否具有Translatetransform,如果没有就为其添加一个。

  

 

 

Story中添加关于水平和垂直方向的动画

最后激活Story并播放

虽然代码看起来是一个终极解决的方案,不过用起来也很复杂,所以在实际项目中我通常是三种方法灵活使用。

总结

以上是内存溢出为你收集整理的高效使用SILVERLIGHT动画全部内容,希望文章能够帮你解决高效使用SILVERLIGHT动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存