C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十九) 魔法之终极五重奏②
2010-09-30 22:40:06 来源:WEB开发网接下来是暴风雪,就好比《传奇》中的火墙,它的大致原理类似本教程中的群攻魔法,不同的是它的伤害性质为多段的,即该魔法将一直循环播放,不同等级的暴风雪持续时间不同,例如我将9级暴风雪持续时间设置为7000毫秒:
<Level Value="9" ATK="150" Consumption="100" AdditionalEffect="280" AdditionalEffectTime="4" AffectedNum="7000"/>
只要进入该魔法攻击范围内的所有敌对精灵均会遭受伤害,伤害间隔可以通过参数来设定,这里我设置为每间隔600毫秒定值进行一次伤害:
if (totalTime > AffectedNum) {
Timer.Tick -= Timer_Tick;
Super.RemoveObject(this, true);
} else {
if (totalTime == 0) { Super.DoInjure(this); }
totalTime += TimerInterval.Milliseconds;
count += TimerInterval.Milliseconds;
if (count >= 600) {
Super.DoInjure(this);
count = count - 600;
}
在本教程示例游戏中,暴风雪附加的是冰冻效果,由于我并未为系统加入魔法命中率及附加效果命中率系统,因此只要被该魔法击中基本上怪物只有死路一条,嘿嘿。实际制作中该类型魔法应该尽量少的附加效果,或者加入低附加效果命中,游戏才会更具趣味性,尤其在PK中:
魔法类型其实还有很多,本教程中的魔法类型基本上已经囊括了目前市面上游戏中的大多数种类,其他的如全屏魔法,联协魔法,镜象魔法等等更多高级的魔法大家可以自行尝试制作,游戏开发不需要拘泥于传统,新奇的事物更能吸引玩家的注意与兴趣。还是回到创新这个词上,有创意的事物都会体现出鲜活的生命力,它是进步的象征,将驱动一切的前进。
到此为止,完成了本教程物理攻击及魔法的所有设计与制作。由于此引擎设计之初就是为了配合教程教学的,因此功能模块都是时时的不断添加更新,代码难免有些丑陋,同时也少不了面向过程的内容与高耦合度。希望大家还是以理解为主,思想是一切的根源嘛。
最后感谢朋友们长期以来对我的支持,我一直在期待Silverlight4的降临,到时我将为此引擎重新来过,让其完全的面向对象,减少初级的成分,让朋友们都能参与到设计中来,一同体验一同进步。
当脑海中时常浮现未来的景色,那么,离它已不再遥远了。
本节源码请到目录中下载,在线演示地址:http://silverfuture.cn
出处:http://alamiye010.cnblogs.com/
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
更多精彩
赞助商链接