C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三十一) 超酷万变的矢量魔法
2010-09-30 20:52:29 来源:WEB开发网核心提示: 其中RadiusX与RadiusY分别定义激光魔法的圆角,并通过BitmapEffect中的OuterGlowBitmapEffect为激光魔法添加外发光效果(此特效很不错,C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(三十一) 超酷万变的矢量魔法(2),
其中RadiusX与RadiusY分别定义激光魔法的圆角,并通过BitmapEffect中的OuterGlowBitmapEffect为激光魔法添加外发光效果(此特效很不错,可是会占用大量的界面线程资源第二十五节中有提到过相关知识;值得庆幸的是,在Silverlight中此类特效效果及性能均表现优良,有兴趣的朋友不妨在Silverlight中测试体验一下),此时大家是否有注意到,我还为该激光魔法添加了一个RotateTransform,因为它与上一节中的群攻魔法有一定的区别,它是具有方向的,因此我们需要通过旋转变换来实现相关需求。这里我为其旋转对象取了个名字Rotate以方便后台代码能对其进行操作。
界面绘制好后,我们还需要为控件添加一些属性,这些属性与上一节中的魔法控件的属性基本相同;需要特别指出的是Fill与OuterFill这两个属性,它们分别用来设置激光魔法内部的填充及外发光颜色。
接下来还需要在Config.xml文件中为激光魔法设定参数:
<Magic Type="1" Code="6" FrameNum="20" EffectiveFrame="0">
……
</Magic>
这里我新加了一个参数叫Type,用它来区分不同类型的魔法,因为不同类型的魔法它的范围、方向、伤害处理等均存在非常大的差异,我们必须分类进行处理。
最后,我们通过仿造类似上一节的魔法处理代码,即可将激光魔法运行起来。但是又出现了新的问题:由于激光属于矩形直线穿梭类型魔法,在伤害计算上会有些特殊,该如何进行相关的设定呢?大家不妨先看下图:
Tags:开发 WPF Silverlight
编辑录入:爽爽 [复制链接] [打 印][]
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››WPF学习笔记12. Binding (5)
- ››WPF学习笔记11. Binding (4)
- ››WPF学习笔记10. Binding (3)
- ››WPF学习笔记9. Binding (2)
- ››WPF学习笔记8. Binding
- ››WPF学习笔记7. Resource
- ››WPF学习笔记6. RoutedEvent
- ››WPF学习笔记5. DependencyProperty
- ››WPF学习笔记3. Navigation
- ››WPF学习笔记之2. Dispatcher
- ››WPF学习笔记之1. Application
更多精彩
赞助商链接