微软的人立方1.1版本终于发布了,我很荣幸参与其中。从接触这个TASK开始就决定要用SL来实现,正好赶上了SL2发布的快车。感兴趣的朋友可以看看这里,http://renlifang.msra.cn/news.aspx.
SL2还是个不错的东西,我没有用过FLASH(FLASH10和SL2发布没差几天),使用SL2也是项目需要。对于我这样从来没有使用过类似软件的程序员来说,SL2上手非常的容易,一切是那么顺手,比如使用C#语言。再加上BLEND那就完美了。
在如今的网站开发中,你要是不会SL,FLASH…等RIA工具,你都不好意思跟人家打招呼,至少也得会使用AJAX。动画效果的交互就是RIA的核心。在这里,我主要说说SL2构建绚丽动画的几个高效方法。
1. 使用Visual State状态切换
简单的例子:实现一个按钮,鼠标HOVER后,边框变大。
首先,画出按钮的基本轮廓。
选中按钮后,为它添加两个状态,normal状态(按钮正常状态)和MouSEOver状态(鼠标HOVER状态)
选中MouSEOver状态,为MouSEOver状态添加动画。在Objects and Timeline中点击Show Timeline,打开动画编辑框。将时间轴移至1s处。在PropertIEs的transform面板中调整Scale参数,x:2,y:2. 时间轴上自动插入了一个关键帧。你可以在这里添加更酷更炫的动画。
在按钮的MouseEnter和MouseLeave事件中进行状态转换。
2. Storyboard模板
在Blend中创建一个Story,并以此作为动画模板,在代码中简单地修改Story的各个参数,以达到对动画动态调整的效果。
简单的例子:滑块在直线上滑动到指定位置。
先画出基本控件,一条居中的直线和一个滑块indicator
创建一个新的Story(名称为SlipStory),将事件轴移动至1s处,在PropertIEs中将Translate参数修改为x:100.(100只是一个预设值,实际情况中要滑动到什么地方是动态获取的),时间轴上自动插入了一个关键帧。
动画完成后,加入如下代码来修改滑块滑动的位置。
3. 高效而朴素的代码
在熟练掌握各种动画的代码创建方法之后,就可以使用代码来创建所有的动画,缺点就是不易调试,没有Blend中的所见即所得的效果,对新人来说必然不方便。但是如果熟练使用,可以做出更复杂更自由的动画。
下面的代码用来创建一段移动的动画,持续时间为1s。
这是我们移动函数接口
创建一个新的Story,并检查是否具有Translatetransform,如果没有就为其添加一个。
在Story中添加关于水平和垂直方向的动画
最后激活Story并播放
虽然代码看起来是一个终极解决的方案,不过用起来也很复杂,所以在实际项目中我通常是三种方法灵活使用。
总结以上是内存溢出为你收集整理的高效使用SILVERLIGHT动画全部内容,希望文章能够帮你解决高效使用SILVERLIGHT动画所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)