专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

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

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

来源: 发布时间:星期三, 2009年9月2日 浏览:123次 评论:0
C#开发WPF/Silverlight动画及游戏系列教程(Game Course):( 2十 2)重构 – 让代码插上翅膀自由飞翔(1) - 收藏本文



   3、取其精华去掉糟粕让代码质量得到质飞跃:

   在WPF/Silverlight中大家是否有发现个比较古怪情况每个Control控件都有这样两个属性:x:Name和Name它们区别到底在哪?我可以谨慎告诉大家其实使用起来两者效果是例如我设置x:Name=”A”或设置Name=”A”在Behind代码中两种方式均可以将”A”值识别这可头大了难道MS在搞飞机?其实区别仅仅是上帝创造先后问题这对于绝大多数人来说毫无意义因此我们可以将的归纳到重复属性范畴其他类似情况在WPF/Silverlight中还有很多连带头老大哥都这样龌龊我们开发中出现类似情况也算情有可原所以在重构时我们还需要对所有属性进行理性审视是否有重复是否有不合理是否有没用到却还凳在那这些统统得回炉再造惟有如此才能给扩展提供更便利支持同样我以个活生生例子给大家讲解

   是否还记得上节中要实现9区域主角移动首先得定义WindowCenterX和WindowCenterY这两个变量然后通过让它俩参和到范围判断中从而得到主角当前所处区域但是大家有没想过如果游戏窗口尺寸是可变为了兼容前面实现功能每次窗口尺寸改变(如拖动边缘、最大化、窗口化等)时我们都得重新设置WindowCenterX和WindowCenterY这两个值不但增加了代码量而且毫无扩展性而言这是相当糟糕因此我使用游戏窗口现有变量:ActualWidth和ActualHeight来取代WindowCenterX和WindowCenterY即ActualWidth /2=WindowCenterXActualHeight/2=WindowCenterY然后替换掉全部其他所有到WindowCenterX和WindowCenterY地方结果是我们不论如何调整窗体尺寸都不需要再更改任何代码ActualWidth和ActualHeight就好比心有灵犀得力助手为您提供时时游戏窗口实际宽度和高度



   当然重构方式还有很多很多但是它们最终目都只有个:让代码插上翅膀自由飞翔可以这么说本节代码在保证前节功能不变前提下我对其进行了大幅度代码重构不仅优化结构更可贵是将整个架构提升到极具拓展性高度当然嘴上说没有点价值事实将胜于雄辩:下节我将给您演示短短十几行代码轻松实现WPF下窗口及其内部所有对象任意缩放完美比拟MMORPG中全屏和窗口模式切换敬请关注



编缉推荐阅读以下文章

  • C#开发WPF/Silverlight动画及游戏系列教程(Game Course):( 2十)主位式地图移动模式
  • C#开发WPF/Silverlight动画及游戏系列教程(Game Course):( 2十) 第部分拓展小结篇
  • C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十 9) 完美精灵的 8面玲珑(WPF _disibledevent=>C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十 8) 完美精灵的 8面玲珑(WPF _disibledevent=>C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十 7) 完美精灵的 8面玲珑(WPF _disibledevent=>C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十 6) 牵引式地图移动模式②
  • C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十 5) 精灵Control控件横空出世!②
  • C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十 4) 精灵Control控件横空出世!①
  • C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十 3)牵引式地图移动模式①
  • C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十 2)神奇副本地图

页1234567="current">8


最近更新最后刷新时间:2009-08-11 15:00:16

  • c# 使用WINAPI 进行读取写入配置文件
  • C#和.net发展趋势和预测
  • C#的读取web上xml
  • CLR线程池作用和原理浅析
  • 浅谈CLR线程池缺点及解决思路方法
  • 介绍个基于WinForm实现表单窗体设计器
  • WPF中MVVM模式原理分析和实战
  • 面向对象编程设计模式--简单工厂模式讲解
  • c# 使用HttpWebRequest,HttpWebResponse 快速验证代理IP是否有用
  • C# 访问 SSIS package


最新资讯

  • ·Java EE 6新特性尝鲜:EJB 3.1重要变化总览
  • ·和我共同了解Java是什么
  • ·JSR 299(Java EE 平台上下文和依赖注入)最终建议草案
  • ·Java编程语言 8大优点
  • ·探秘Java 7模块化 类路径永远消失
  • ·JavaOne 2009第 2天:揭示Java领域几大趋势
  • ·JavaOne 2009第天:Java软件Software商店启动 甲骨文CEO登场
  • ·RIA的争 JavaFX是否能后来居上?
  • ·JavaFX还有戏吗?
  • ·Web开发谁更高效 Java对决Ruby _disibledevent=>Zend公司为Java提供PHP解决方案
  • ·REARIA规范标准化发展趋势()
  • ·Java影响力远超想像——为什么要采用Java平台
  • ·5月编程语言排行榜:D语言急速下滑
  • ·Java开源缓存Cache平台Terracotta 3.0版本发布

专题推荐

  • · C#语言参考手册
  • · C#发现的旅
  • · 使用C#和Excel进行报表开发
  • · C# 3.0 新特性
  • · C# 数据库
  • · C# 关键字
  • · C# 抽象工厂
  • · C# 匿名思路方法
  • · Effective C#
  • · Visual C# 2005
  • · C# XML
  • · C# 泛型编程
  • · Visual C# 编程入门
  • · C# 接口编程教程
  • · C# Builder
  • · C# 锐利体验
  • · C# 进阶教程
  • · WinForm 教程
  • · 更多C#专题……



有关我们 | 联系我们 | 版权申明 | 广告服务 | 网站WebSite律师 | 报告 | 免责条款

Copyright © 2002 - 2009 ddvip All Rights Reserved

版权所有



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: