陈世华
(湖北省恩施高中,湖北恩施 445000)
如何通过程序方式创建Blend旋转动画
陈世华
(湖北省恩施高中,湖北恩施 445000)
用动画方式展现教学难点,无疑是教学信息化的重要成分。程序方式创建动画,不仅便于实现交互,而且易于复制以实现共享,提高开发效率。作者用Visual Studio 2010+Expression Blend 3制作动画,试图通过从文本框输入旋转角度,实现任意角的动画。
程序设计;创建动画;旋转角度
教学时,在两个文本框中,分别输入相差360°整数倍的两角、互补两角、互为相反数的两角、相差180°的两角等,以动态、直观地展示这些角度的重要关系。
在Blend 3的设计视图中,首先引入一张在几何画板中制作的坐标系图片,再加入两个Button、两个 TextBox、一个 Canvas,分别命名为 button01、button02、textbox01、textbox02、canvas01。在 canvas01 中,按住Shift键,画一条线段,将该线段放置于坐标系的轴上,使其左端点与坐标原点重合,作为角的始边。再复制粘贴两条线段,分别命名为path01、path02,改变path02的粗细与颜色以便于区分。path01与path02将分别表示两个角的终边。虽然线段也可以通过程序代码创建,但在设计视图下创建更方便。
旋转,要用到Blend 3的转换(Transform),Transform包含了四种效果:旋转(RotateTransform)、缩放(ScaleTransform)、扭曲(SkewTransform)和平移(TranslateTransform)。[1]
将以上代码复制到button02的Click事件处理程序中,只需将path01改path02,就可实现第二条线段的动画。
以上是C#代码,难点在于设置动画的作用属性一句,教材及网络上,讲得都不很详细。由于后面的参数是一个长长的字符串,在Visual Studio中,也没有方向性的错误提示。
实际上,句中的“[0]”,数字是可变的。一个转换组Transformgroup01可以包含多个转换对象,比如两个旋转对象,此时,设置第二个旋转对象的作用属性时,就要改为“[1]”。
[1]章立民.大师讲堂Silverlight2.0开发技术精粹.C#版[M].北京:北京科海电子出版社,2009.5.
[2]银光志.Silverlight3.0开发详解与最佳实践[M].北京:清华大学出版社,2009.12.
TP311.1
B
1673-8454(2011)18-0073-02
(编辑:王天鹏)
*本文为广东省科技型中小企业技术创新专项资金项目(项目编号:2009CD019)成果。