C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十九) 魔法之终极五重奏②
2010-09-30 22:40:06 来源:WEB开发网核心提示:首先是连锁闪电,在《英雄无敌》中体现得尤为出色,C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十九) 魔法之终极五重奏②,击中一个怪物后,闪电会继续向它周围延续,将魔法飞行到List<QXSprite>中的第二个怪物中心,并触发连锁闪电的第二次攻击,连锁到下一个
首先是连锁闪电,在《英雄无敌》中体现得尤为出色,击中一个怪物后,闪电会继续向它周围延续,连锁到下一个怪物并对其进行第二次攻击,接着重复前面步骤往周围延续,直到次数达到连锁次数上限或周围已没有其他怪物为止。当然,每一次攻击产生的伤害及附加属性都会少于前一次,例如在本教程示例游戏中,我将连锁闪电设定为每一级连锁攻击力都较头一次减半,且附加麻痹属性的时间也减半,这些数据均记录在Config.xml魔法配置文件中,非常有意思,大家可以通过AffectedNum来自由设定不同等级能连锁的次数上限,例如3级连锁闪电可最多3次连锁等等:
<Level Value="3" ATK="380" Consumption="20" AdditionalEffect="90" AdditionalEffectTime="8" AffectedNum="3"/>
那么在Silverlight中我们是如何进行这些连锁处理的呢?其实我们可以把整个释法过程分成3个步骤,第一步,捕捉要攻击对象及其周围在连锁闪电攻击半径Radius内小于或等于AffectedNum的敌对精灵对象,放入一个List<QXSprite>中(其中第一个即为被鼠标点中的攻击对象);第二步,类似第四十七节中的单体飞行魔法原理,通过Storyboard创建飞行动画,并在动画Completed事件时触发对第一个怪物的第一次伤害;第三步,以该怪物中心为起点,再次创建Storyboard飞行动画,将魔法飞行到List<QXSprite>中的第二个怪物中心,并触发连锁闪电的第二次攻击,后面的依次类推,直到连锁完成(List<QXSprite>中所有对象均伤害一次):
Tags:开发 WPF Silverlight
编辑录入:爽爽 [复制链接] [打 印]- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››WPF学习笔记12. Binding (5)
- ››WPF学习笔记11. Binding (4)
- ››WPF学习笔记10. Binding (3)
- ››WPF学习笔记9. Binding (2)
- ››WPF学习笔记8. Binding
更多精彩
赞助商链接