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

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十一)主位式地图移动模式

 2009-07-04 07:07:23 来源:WEB开发网   
核心提示: interface QXObject { int CenterX { get; set; } int CenterY { get; set; } double X { get; set; } double Y { get; set; } ……}如此一来,只要对

interface QXObject {

int CenterX { get; set; }

int CenterY { get; set; }

double X { get; set; }

double Y { get; set; }

……

}

如此一来,只要对继承此接口的类设定好如上属性,再对现有的QXSpirit与QXMap两个控件添加对此接口的继承:

public partial class QXSpirit : UserControl, QXObject { …… }

public partial class QXMap : UserControl, QXObject { …… }

最后再次对前面的方法进行如下修改:

……

for (int i = 0; i < Carrier.Children.Count; i++) {

if (Carrier.Children[i] is QXObject) {

QXObject Object = Carrier.Children[i] as QXObject;

Canvas.SetLeft(Object, Object.X - Object.CenterX);

Canvas.SetTop(Object, Object.Y - Object.CenterY);

Canvas.SetZIndex(Object, Convert.ToInt32(Object.Y));

}

}

……

忽忽,大功告成!

当我们将AllMove()的9区域代码均补充完整后,替换掉第二十节中的AllMove()方法,其他的代码一个也不用改,结果就像变魔术一样,地图的移动模式转眼由牵引式地图移动模式转变成主位式地图移动模式,地图、遮罩、就连障碍物都同样的被无缝移植了,这难道不是奇迹吗?欣赏一下自己的劳动成果吧:

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十一)主位式地图移动模式

瞬间的模式转换是否让大家感到措手不及,匆忙中让太多的代码与属性显得臃肿冗余且无章可循,那么下一节我将对本教程源码进行第一次大规模重构,从设计升华到艺术,这是每一位开发者无上的追求,敬请关注。

源码下载:http://flashview.ddvip.com//2009_07/78.rar

上一页  2 3 4 5 6 7 

Tags:开发 WPF Silverlight

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