WEB开发网
开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game C... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十八) 经典式属性设计及完美的物理攻击系统

 2010-09-30 20:47:09 来源:WEB开发网   
核心提示: 通过圆来构造攻击范围并实施判断在范围型攻击魔法中同样被广泛应用到,这是后话了,C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十八) 经典式属性设计及完美的物理攻击系统(5),步骤三,当主角向敌人挥剑并击中对方时,这样,我们为每个精灵控件添加一个名为Eff

通过圆来构造攻击范围并实施判断在范围型攻击魔法中同样被广泛应用到,这是后话了。

步骤三,当主角向敌人挥剑并击中对方时,运行计算公式并显示伤害输出。这里涉及到精灵动作的分帧处理(分帧处理架构的优势在此体现得淋漓尽致),也就是根据精灵当前动作的进度来实现相应功能。举个最简单的例子,当精灵死亡时会运行死亡的一系列动作帧,当播放到最后一帧(精灵躺在地上)时才算真正的死亡,此后我们才会对其进行例如线程释放、控件移除等相关处理:

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十八) 经典式属性设计及完美的物理攻击系统

本游戏中的主角攻击动作由7帧组成,当播放到第6帧时才会实质性的对敌人产生伤害:

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十八) 经典式属性设计及完美的物理攻击系统

而这列帧在主角的动作合成图中所处的位置为第20列,这样,我们为每个精灵控件添加一个名为EffectiveFrame(起效帧)的属性,当精灵动作播放到此帧时,即会启动相应的处理:

        private void Timer_Tick(object sender, EventArgs e) {

            ……

            //如果触动起效帧

            if (FrameCounter == EffectiveFrame[(int)Action]) {

                Super.DoInjure(this);

            }

        }

上一页  1 2 3 4 5 6 7  下一页

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接