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

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

 2009-07-04 07:07:23 来源:WEB开发网   
核心提示: public int CenterY { get{…}; set{…}; } // 地图X坐标 public double X { get{…}; set{…}; } // 地图Y坐标 public double Y { get{&

public int CenterY { get{…}; set{…}; }

// 地图X坐标

public double X { get{…}; set{…}; }

// 地图Y坐标

public double Y { get{…}; set{…}; }

// 地图宽

public double Width_ { get{…}; set{…}; }

// 地图高

public double Height_ { get{…}; set{…}; }

// 地图图片源

public ImageSource Source { get{…}; set{…}; }

// 地图透明度

public double Opacity_ { get{…}; set{…}; }

由于地图与遮罩拥有几乎一样的属性,因此为了简单且统一化,我只建立一个名为QXMap的控件进行实现(当然,您将之分成QXMap和QXMask两个控件亦可),下文中为了区分,我均称地图为地表图层(简称地表),遮罩为遮罩图层(简称遮罩),这样可以让大家更好的理解QXMap的不同实现。回到它的属性上,其中的X,Y代表坐标,如果是地表则为0,因为它自己相对于自身的坐标当然是(0,0);如果是遮罩,那么它的X,Y则是它图片左上角位于地表中的坐标。CenterX,CenterY目前暂时不会用到,因此均默认为0即可;至于其他属性都很好理解这里就不再讲解。

地图控件创建完成,接下来我们将原先的:Image Map = new Image();用QXMap MapSurface = new QXMap();代替,Image Mask = new Image(); 用QXMap Mask = new QXMap();代替,并设置好相应的属性,这样就完成了通过地图控件对地表与遮罩的初始化。

到此,第二位朋友的问题已经云开见日,我们只需轻轻一扫键盘:

……

else if (Carrier.Children[i] is QXMap) {

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

Tags:开发 WPF Silverlight

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