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

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十二)重构 – 让代码插上翅膀自由飞翔

 2010-09-30 20:49:35 来源:WEB开发网   
核心提示: 此时我们再回到地表层的初始化方法体中进行相应的替换,结果如下: private void InitMapSurface() { MapSurface.Width = 1750; MapSurface.Height = 1440; MapSurface.Source = BitmapFrame.

此时我们再回到地表层的初始化方法体中进行相应的替换,结果如下:

        private void InitMapSurface() {
            MapSurface.Width = 1750;
            MapSurface.Height = 1440;
            MapSurface.Source = BitmapFrame.Create((new Uri(@http://tech.ddvip.com/2009-07/"Map.jpg", UriKind.Relative)));
            MapSurface.Left = -320;
            MapSurface.Top = -200;
            MapSurface.Zindex = -1;
            Carrier.Children.Add(MapSurface);
    }

比起原先的代码,改进后的不仅书写优雅,而且更易于理解,这就是重构的重要手法之一。

二、通过加载配置文件,进行系统参数设置:

在游戏设计中,很多参数是在启动游戏时就必须加载的,即游戏的初始化读取(Loading Data…),例如当前的地图、障碍物、遮挡物、声音等资料数据。这些数据往往在游戏开发初期习惯性的被程序员放在代码中(内存中),目的是方便频繁的修改及调试;但是,当项目进展到需要实现具体功能的实质性阶段,此时迫切需要将这些数据进行归类并统一放到一些配置文件中,这样我们可以通过修改外围配置文件实现不同的游戏启动配置而不必再重新编译,从而极大幅度的提高设计的拓展性且易于维护和更新。举个最简单的例子,网络游戏在运营中如果服务器地址发生变更,由IP:145.10.6.8换成IP:167.10.8.9,那么你会怎么做?在游戏代码中更改服务器连接IP,然后重新编译发布后告诉所有的玩家:“请重新下载游戏新版本客户端,否则将无法登陆服务器。”这是极其愚蠢的做法不是吗?因此,网络游戏在启动时均会检测更新,通过接收更新服务器传来的新版文件替换掉每个客户端的旧配置文件,这样游戏启动时即可以加载新的配置参数连接上新的服务器地址。

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

Tags:开发 WPF Silverlight

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