<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_wangergo</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/12454/rss</id><updated>2012-01-14T15:12:16Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/12454/rss"/><entry><id>http://www.cnblogs.com/wangergo/archive/2012/01/14/2322638.html</id><title type="text">写在&amp;quot;CastleDefense&amp;quot;上市1周月之际</title><summary type="text">2011年10月1日，MagicJelly Game Studio成立。 2011年11月21日，Game Kingdom Studio成立。 2011年12月14日， &amp;quot;CastleDefense&amp;quot;由Game Kingdom Studio发布。 2011年12月30日，&amp;quot;果冻军团&amp;quot;由MagicJelly Game Studio发布。 截止2012年1月14日，&amp;quot;CastleDefense&amp;quot;排名MarketPlace美国市场游戏“策略模拟”分类第12位，总排名TOP119位。“果冻军团&amp;quot;排名MarketPlace美国市场游戏</summary><published>2012-01-14T15:10:00Z</published><updated>2012-01-14T15:10:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2012/01/14/2322638.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2012/01/14/2322638.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: Tahoma; line-height: 22px; border-collapse: collapse; color: #545454; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2011年10月1日，MagicJelly Game Studio成立。&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2011年11月21日，Game Kingdom Studio成立。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2011年12月14日， "CastleDefense"由Game Kingdom Studio发布。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2011年12月30日，"果冻军团"由MagicJelly Game Studio发布。&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 截止2012年1月14日，"CastleDefense"排名MarketPlace美国市场游戏&amp;#8220;策略模拟&amp;#8221;分类第12位，总排名TOP119位。&amp;#8220;果冻军团"排名MarketPlace美国市场游戏&amp;#8221;家庭&amp;#8220;分类第4位，总排名TOP59位，MarketPlace香港市场游戏&amp;#8221;家庭&amp;#8220;分类第1位，总排名Top6。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;我作为MagicJelly Game Studio和Game Kingdom Studio的创始成员之一，这两个游戏的唯一开发人员。直接操作了游戏的发布过程，掌握了这两个游戏的第一手销售资料。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;让我觉得不解的是，&amp;#8221;果冻军团&amp;#8220;曾经排名美国市场前50位，评分5星，收益却不如评分3.5分的&amp;#8221;CastleDefense&amp;#8220;。我认真思考了很久，一款游戏的收益只能由市场评判，市场才是公正的裁判。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 总结如下：&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1.目前WP7市场重点在欧美，最重要的市场是美国，所以欧美画风的CastleDefense获得欧美市场的认可要高，付费比率也要高出不少。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2.果冻军团在香港等中文市场排名靠前，一方面做过7天的免费推广，所以下载量超过CastleDefense不少，但游戏并不为欧美市场认可。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3.等待中国市场开放，果冻军团应该收益接近CastleDefense.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 对我个人而言，这2个月左右的经历收获不少，之前只所以没有对朋友们公开我要做什么，是因为我不是一个什么都没做出来就宣扬的人。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 从一个职责单纯的开发人员到一个成立游戏工作室的游戏制作人，我遇到的迷惑和困难超出我的想象，现在理清思路，我应该是走在一个正确的方向上。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1.就目前市场容量来说，1年之内CastleDefense的成本应该可以回收，所以1年的坚持和运作很重要。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2.WP7的市场随着Nokia的加入应该会增大而不是萎缩。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3.国外一名独立游戏制作者去年发布了13款游戏，全部是免费的，靠广告收入6W美元，我们应该不会比他差。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 4.盈利模式很清晰，没有中间的渠道环节来增加成本，做一个好点的游戏，就能收入美元，关键是游戏的质量。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 5.中国的人力成本，特别是武汉的人力成本是外国开发者不能比的。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 我遇到的压力和困难：&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;1.从一个稳定的高收入者到一个不稳定的负收入者，经济和心理压力都比较大。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;2.工作室的运作会遇到人才和资金压力，如果找到合适的人才，何时寻找或者不寻找天使投资？&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;3.我们要做什么样的游戏，创新还是山寨？&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;我的对策：&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;1.我起起伏伏好几次了，曾经被偷成零资产，遇到比这困难的事也不少了，所以就算失败了也没什么。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;2.我会培养XNA的开发人员，同时把自己变成一个精通XNA开发的人。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;3.多和武汉的朋友交往，多接触类似于投资方，运营，培训行业的朋友。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;4.努力提升游戏质量，多关注市场。&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/div&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2012，加油吧！用CastleDefense过关画面来勉励自己：Fight!I'll win!&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wangergo/8.jpg" width="800" height="480" alt="" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;最后宣传下我的工作室:&lt;a href="http://gamekingdom.us/" title="gamekingdom.us"&gt;Http://gamekingdom.us&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/wangergo/aggbug/2322638.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2012/01/14/2322638.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2011/11/27/2265106.html</id><title type="text">如何在WP7上用XNA写2D游戏（五）</title><summary type="text">第 4 章XNA里的2D动画 4.1 播放游戏精灵动画第二章里我们提到了如何把2D的纹理用SpriteBatch显示。对于游戏而言，一个精灵(sprite，在游戏编程里指一个对象的原型，比如一个战士，一个怪物)不可能不做动作，就拿简单的走动来说，手脚一定会是要动的，那么如何真实得展现一个人物在屏幕上走动呢？在2D游戏编程里，我们通常就是把人物的动作拆成一帧帧图片，通过连续播放来欺骗人眼产生动画的效果，其实胶片电影也是这个原理。如下图4-1，是一个小兵的行走动画，可以看到是由12张图片组成，那么如何能连续循环播放呢 图4-1一想到循环，我们就很容易想到for循环，如果我们把这12张图片的纹理放到</summary><published>2011-11-27T08:21:00Z</published><updated>2011-11-27T08:21:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2011/11/27/2265106.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2011/11/27/2265106.html"/><content type="html">&#xD;
&lt;p style="margin: 1em 0px 1em 0cm;"&gt;&lt;span style="font-size: 24pt;"&gt;第 4 章XNA里的2D动画&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;4.1 播放游戏精灵动画&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;第二章里我们提到了如何把2D的纹理用&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;SpriteBatch&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;显示。对于游戏而言，一个精灵(sprite，在游戏编程里指一个对象的原型，比如一个战士，一个怪物)不可能不做动作，就拿简单的走动来说，手脚一定会是要动的，那么如何真实得展现一个人物在屏幕上走动呢？在2D游戏编程里，我们通常就是把人物的动作拆成一帧帧图片，通过连续播放来欺骗人眼产生动画的效果，其实胶片电影也是这个原理。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;如下图4-1，是一个小兵的行走动画，可以看到是由12张图片组成，那么如何能连续循环播放呢&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/4-1.png" /&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;图4-1&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;一想到循环，我们就很容易想到for循环，如果我们把这12张图片的纹理放到一个Texture2D[] 数组里那么，通过for循环不就可以实现了么？&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;for(int i=0;i&amp;lt;SoldierTextures.Count;i++) //&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;伪代码&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 21pt; text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;spriteBatch.Draw(SoldierTextures[i]);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;} &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;当然，这个循环只能循环一遍，如果做到从头到尾不停的循环呢？&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;前面我们提到XNA里的Update函数，它就是不停执行的一个函数，执行的时间间隔是一个固定值.我们就可以把这个函数当做是一个特殊的for循环.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;我们需要用上一个全局的计数器FrameCount.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;int FrameCount=0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;void Update() //&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;在update函数里改变计数器&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 5pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 35pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;FrameCount++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 35pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;if(FrameCount&amp;gt;SoilderTextures.Length-1)//&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;如果播完最后一帧&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 50pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;FrameCount=0; //&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;就回到第一帧&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 5pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;void Draw() //&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;在Draw函数里绘制出纹理&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;spriteBatch.Draw(SoilderTextures[FrameCount]); &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;以上代码都是伪代码，便于大家理解，实际编程中的代码比这里要复杂点。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;1.&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;在GameMainScreen类里写上构造函数：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Texture2D&lt;/span&gt;[] soilderTextures;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt; GameMainScreen()&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soilderTextures=&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Texture2D&lt;/span&gt;[12];//&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;初始化士兵纹理数组&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;2.&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;把12张士兵跑动图片放到Content项目下的一个Enemy文件夹的子文件夹Run中，如果4-2：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;3.&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;用for循环加载这12张图片纹理,如下:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;public&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt; &lt;span style="color: blue;"&gt;override &lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; LoadContent()&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;base&lt;/span&gt;.LoadContent();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; playerTexture =&amp;nbsp;ScreenManager.Game.Content.Load&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Texture2D&lt;/span&gt;&amp;gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"Player/1"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 12;i++ )&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 42pt; text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;soilderTextures[i] =ScreenManager.Game.Content.Load&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Texture2D&lt;/span&gt;&amp;gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"Enemy/Run/"&lt;/span&gt;+(i+1));&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;4.&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;在Draw里绘制出当前帧:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;public&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt; &lt;span style="color: blue;"&gt;override &lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; Draw(&lt;span style="color: rgb(43, 145, 175);"&gt;GameTime &lt;/span&gt;gameTime)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenManager.SpriteBatch.Begin();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenManager.SpriteBatch.Draw(soilderTextures[FrameCount],&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(100,200), &lt;span style="color: rgb(43, 145, 175);"&gt;Color&lt;/span&gt;.White);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;ScreenManager.SpriteBatch.End();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/4-2.png" /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;图4-2 &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;5.&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;在Update里更新当前帧的位置，依次向后播放:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;public&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt; &lt;span style="color: blue;"&gt;override &lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; Update(&lt;span style="color: rgb(43, 145, 175);"&gt;GameTime &lt;/span&gt;gameTime, &lt;span style="color: blue;"&gt;bool&lt;/span&gt; otherScreenHasFocus, &lt;span style="color: blue;"&gt;bool&lt;/span&gt; coveredByOtherScreen)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;base&lt;/span&gt;.Update(gameTime, otherScreenHasFocus,coveredByOtherScreen);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;float &lt;/span&gt;elapsedTime = (&lt;span style="color: blue;"&gt;float&lt;/span&gt;)gameTime.ElapsedGameTime.TotalSeconds;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FrameCount++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/span&gt;(FrameCount &amp;gt; soilderTextures.Length - 1)&lt;span style="color: green;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;如果播完最后一帧&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FrameCount = 0; &lt;span style="color: green;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;就回到第一帧&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;6.&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;在模拟器最后运行效果如图4-3:&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/4-3.png" /&gt;&lt;/span&gt;&lt;br /&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;我们执行上面写好的代码后，就在模拟器里发现人物就循环播放动画了，不过出现了新问题：&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;士兵的跑动动作频率不够合理，像一个超人一样飞速得在奔跑。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;这是为什么呢？&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;因为人物动画帧播放的时间间隔其实是要远大于update函数执行的时间间隔的，比如说人物动画是1秒播放一帧，而update函数是1/30秒(0.3333秒)播放一帧。那么我们如何处理这个问题呢？&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;在回到上面的代码里，其实只要控制 FrameCount++执行的时间间隔就可以了。如何控制？那么我们需要用到另外一个计数器updateCount;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;updateCount++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;if(updateCount&amp;gt;TimeSpan)&amp;nbsp;//&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;伪代码,TimeSpan为时间间隔量&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 42pt; text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;FrameCount++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 42pt; text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;updateCount=0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;这样我们通过修改TimeSpan的值就能控制FrameCount++执行的时间间隔了。比如TimeSpan=30, 那么update函数要执行30次，FrameCount++才执行一次。也就说FrameCount++执行的时间间隔为 30*0.33333秒=1秒。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;经过合理调整，我们发现TimeSpan=2时，士兵的动作频率最协调，代码如下:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int &lt;/span&gt;updateCount=0,timeSpan=2;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Update(&lt;span style="color: rgb(43, 145, 175);"&gt;GameTime&lt;/span&gt; gameTime, &lt;span style="color: blue;"&gt;bool &lt;/span&gt;otherScreenHasFocus, &lt;span style="color: blue;"&gt;bool&lt;/span&gt; coveredByOtherScreen)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;base&lt;/span&gt;.Update(gameTime,otherScreenHasFocus, coveredByOtherScreen);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;float &lt;/span&gt;elapsedTime = (&lt;span style="color: blue;"&gt;float&lt;/span&gt;)gameTime.ElapsedGameTime.TotalSeconds;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateCount++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(updateCount &amp;gt; timeSpan)&amp;nbsp;&lt;span style="color: green;"&gt;// timeSpan&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;为时间间隔量&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FrameCount++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateCount = 0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(FrameCount &amp;gt; soilderTextures.Length - 1)&lt;span style="color: green;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;如果播完最后一帧&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FrameCount = 0; &lt;span style="color: green;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;就回到第一帧&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 21pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;写完以上代码，我们就能看到精灵动画能够自如的播放了。不过这个小兵精灵并不能移动，所以有些别扭。那么我们下面一节就要研究如何让精灵移动起来。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-size: 18pt;"&gt;4.2游戏精灵的矢量移动&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;我们在前面第二章讲过可以指定得把一个2D纹理绘制在特定的坐标位置上。在WP7的XNA里，坐标系如下，原点的位置是左上角，X轴向右延伸，Y轴向下延伸。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;在XNA里，2维坐标用Vector2对象来表示：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;Vector2 position = new Vector2(X,Y);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 20pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;了解了XNA里2维坐标概念后，我们还需要知道一个概念就是运动矢量,什么叫运动矢量呢?比如我向右走，也就是笔直沿X轴增大的方向走，这样我行走的方向就确定了，但是我行走的时候可快可慢，这就涉及到速度的问题。运动矢量就包含了方向和速度两个概念。在2维坐标系里，运动矢量也用Vector2 对象来表示。我用20单位的速度向右走就可以表示为 new Vector2(20,0); 很容易理解此时在X轴方向上以20单位的速度在增大（向右运动），在Y轴上没有变化。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;那么随着时间流逝，我们就能得到运动中的精灵在当前时刻所在坐标位置，用矢量计算公式：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;Vector2 speed = new Vector2(20,0);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;Vector2 EndPosition = position + speed*elipsetime;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;计算出EndPosition后，我们就在Draw方法里&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;spriteBatch.Draw(Texture2D,EndPosition); &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;这样我们的精灵就能移动了，改变speed运动矢量，我们就能控制精灵的运动速度和方向。当然，要让精灵停下来也很简单，speed = new Vector2(0,0)就可以了。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;改进后的代码如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;int&lt;/span&gt; FrameCount= 0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2 &lt;/span&gt;endPosition = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(0,200);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Draw(&lt;span style="color: rgb(43, 145, 175);"&gt;GameTime&lt;/span&gt; gameTime)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;float &lt;/span&gt;elapsedTime = (&lt;span style="color: blue;"&gt;float&lt;/span&gt;)gameTime.ElapsedGameTime.TotalSeconds;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;float &lt;/span&gt;totalTime = (&lt;span style="color: blue;"&gt;float&lt;/span&gt;)gameTime.TotalGameTime.TotalSeconds;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenManager.SpriteBatch.Begin();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;ScreenManager.SpriteBatch.Draw(soilderTextures[FrameCount], endPosition,&lt;span style="color: rgb(43, 145, 175);"&gt;Color&lt;/span&gt;.White);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenManager.SpriteBatch.End();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;int &lt;/span&gt;updateCount=0,timeSpan=2;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2 &lt;/span&gt;speed=&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(100,0);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Update(&lt;span style="color: rgb(43, 145, 175);"&gt;GameTime &lt;/span&gt;gameTime, &lt;span style="color: blue;"&gt;bool&lt;/span&gt; otherScreenHasFocus, &lt;span style="color: blue;"&gt;bool&lt;/span&gt; coveredByOtherScreen)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;base&lt;/span&gt;.Update(gameTime,otherScreenHasFocus, coveredByOtherScreen);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;float &lt;/span&gt;elapsedTime = (&lt;span style="color: blue;"&gt;float&lt;/span&gt;)gameTime.ElapsedGameTime.TotalSeconds;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateCount++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(updateCount &amp;gt; timeSpan)&amp;nbsp;&lt;span style="color: green;"&gt;//TimeSpan&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;为时间间隔量&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FrameCount++;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateCount = 0;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(FrameCount &amp;gt; soilderTextures.Length - 1)&lt;span style="color: green;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;如果播完最后一帧&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FrameCount = 0; &lt;span style="color: green;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;就回到第一帧&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endPosition += elapsedTime * speed;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(endPosition.X&amp;gt;800)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endPosition = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(0,200);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;按F5运行模拟器后，我们会看到一个不停奔跑的士兵。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&lt;/span&gt;&lt;span style="font-size: 18pt;"&gt;4.3制作可控的游戏精灵&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;在手机游戏里，主角一般都是方向可控的，如下图4-4是一个带十字方向键的iphone游戏界面:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/4-4.jpg" /&gt;&#xD;
&lt;p style="text-align: left; text-indent: 18pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;图4-4&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&#xD;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;结合我们第3章讲的WP7的触控操作，我们也能实现十字方向键控制的游戏精灵。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 53pt; text-align: left; text-indent: -18pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;1.&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;首先找到一个十字键图片，把它绘制到手机左下角，如图4-5：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 53pt; text-align: left; text-indent: -18pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;&lt;br /&gt;&#xD;
&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/4-5.png" width="712" height="375" /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;图4-5&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;br /&gt;&#xD;
&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 53pt; text-align: left; text-indent: -18pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;2.&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;设定4个方向点的矩形范围。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt; topRect = &lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location = &lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Point&lt;/span&gt; { X = 40, Y = 380 },&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width = 30,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height = 30,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle &lt;/span&gt;bottomRect = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Point&lt;/span&gt; { X = 40, Y = 460 },&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width = 30,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height = 30,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle &lt;/span&gt;leftRect = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Point&lt;/span&gt; { X = 2, Y = 410 },&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Width = 30,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height = 30,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle &lt;/span&gt;rightRect = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Point&lt;/span&gt; { X = 80, Y = 410 },&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width = 30,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height = 30,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 35pt; text-align: left;" align="left"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 53pt; text-align: left; text-indent: -18pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;2.&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;重写HandleInput函数，接受触控操作:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; HandleInput(&lt;span style="color: rgb(43, 145, 175);"&gt;InputHelper&lt;/span&gt;input)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;TouchCollection &lt;/span&gt;touchState = &lt;span style="color: rgb(43, 145, 175);"&gt;TouchPanel&lt;/span&gt;.GetState();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;foreach&lt;/span&gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;TouchLocation&lt;/span&gt; tl &lt;span style="color: blue;"&gt;in &lt;/span&gt;touchState)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(topRect.Contains(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Point&lt;/span&gt;{ X = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)tl.Position.X, Y = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)tl.Position.Y }) &amp;amp;&amp;amp; tl.State == &lt;span style="color: rgb(43, 145, 175);"&gt;TouchLocationState&lt;/span&gt;.Pressed)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; speed = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(0,-100);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 76pt; text-align: left; text-indent: -76pt;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(bottomRect.Contains(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Point&lt;/span&gt; { X = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)tl.Position.X,Y = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)tl.Position.Y }) &amp;amp;&amp;amp;tl.State==&lt;span style="color: rgb(43, 145, 175);"&gt;TouchLocationState&lt;/span&gt;.Pressed)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; speed = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(0,100);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 76pt; text-align: left; text-indent: -76pt;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(leftRect.Contains(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Point&lt;/span&gt;{ X = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)tl.Position.X, Y = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)tl.Position.Y }) &amp;amp;&amp;amp; tl.State == &lt;span style="color: rgb(43, 145, 175);"&gt;TouchLocationState&lt;/span&gt;.Pressed)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; speed = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(-100,0);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 71.25pt; text-align: left; text-indent: -71.25pt;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(rightRect.Contains(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Point&lt;/span&gt; { X = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)tl.Position.X,Y = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)tl.Position.Y }) &amp;amp;&amp;amp; tl.State== &lt;span style="color: rgb(43, 145, 175);"&gt;TouchLocationState&lt;/span&gt;.Pressed)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 71.25pt; text-align: left; text-indent: -71.25pt;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp; &lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; speed = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(100,0);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(tl.State==&lt;span style="color: rgb(43, 145, 175);"&gt;TouchLocationState&lt;/span&gt;.Released)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;speed = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;(0,0);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 53pt; text-align: left; text-indent: -18pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;3.&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;写好以上代码后，按F5调试，在游戏主界面，我们就看到如图4-6的效果:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;font face="宋体"&gt;&lt;br /&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/4-6.png" width="709" height="379" /&gt;&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 35pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;图&lt;span lang="EN-US"&gt;4-6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font face="宋体"&gt;&lt;br /&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 35pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;当然这只是个简单的&lt;span lang="EN-US"&gt;DEMO&lt;/span&gt;，士兵后退，向上，向下的动画都不对，不过原理和士兵前进的动画一样。更复杂的动画，我们会在下一章来讲解。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font face="宋体"&gt;&lt;br /&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#xD;
&lt;img src="http://www.cnblogs.com/wangergo/aggbug/2265106.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2011/11/27/2265106.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2011/11/19/2255192.html</id><title type="text">如何在WP7上用XNA写2D游戏（四）</title><summary type="text">第 3 章 创建XNA 游戏菜单 3.1 WP7里XNA游戏的触控操作 上一章节，我们了解了制作XNA 2D游戏的常用组件已及使用ScreenManage管理场景。可以说对XNA 2D游戏有了入门，不过我们玩游戏不会一开始就进入到游戏场景里的，总是会有启动界面，loading界面，然后到了游戏菜单。然后让用户选择“开始”，“继续”，“帮助”等选项，如下图3-1，就是一个常见的游戏界面。 图3-1和PC上的运行的XNA游戏不同，我们在WP7上是靠触摸屏操作的，这和用鼠标操作还是不同的。那么我们就需要先了解WP7里XNA的触控操作。现在的触摸屏手机基本都支持“多点触控”，比如拉伸，缩放，玩过Iph</summary><published>2011-11-19T06:41:00Z</published><updated>2011-11-19T06:41:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2011/11/19/2255192.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2011/11/19/2255192.html"/><content type="html">&lt;p&gt;&lt;font face="宋体"&gt;&lt;br /&gt;&#xD;
&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: 24pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a name="_Toc271185770"&gt;&lt;font face="宋体"&gt;&lt;span style="font-size: 24pt;"&gt;第 &lt;/span&gt;&lt;span style="font-size: 24pt;" lang="EN-US"&gt;3 &lt;/span&gt;&lt;span style="font-size: 24pt;"&gt;章 创建&lt;/span&gt;&lt;span style="font-size: 24pt;" lang="EN-US"&gt;XNA &lt;/span&gt;&lt;span style="font-size: 24pt;"&gt;游戏菜单&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;span style="mso-bookmark: _Toc271185770;"&gt;&lt;span &gt;&lt;span style="line-height: 150%; font-size: 10.5pt;"&gt;&lt;font face="宋体"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="宋体"&gt;&lt;br /&gt;&#xD;
&lt;/font&gt;&lt;font face="宋体"&gt;&lt;span lang="EN-US"&gt;3.1 WP7&lt;/span&gt;里&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;游戏的触控操作&lt;span style="font-size: 9pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="宋体"&gt;&lt;br /&gt;&#xD;
&lt;/font&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 上一章节，我们了解了制作&lt;span lang="EN-US"&gt;XNA 2D&lt;/span&gt;游戏的常用组件已及使用&lt;span lang="EN-US"&gt;ScreenManage&lt;/span&gt;管理场景。可以说对&lt;span lang="EN-US"&gt;XNA 2D&lt;/span&gt;游戏有了入门，不过我们玩游戏不会一开始就进入到游戏场景里的，总是会有启动界面，&lt;span lang="EN-US"&gt;loading&lt;/span&gt;界面，然后到了游戏菜单。然后让用户选择&lt;span lang="EN-US"&gt;&amp;#8220;&lt;/span&gt;开始&lt;span lang="EN-US"&gt;&amp;#8221;&lt;/span&gt;，&lt;span lang="EN-US"&gt;&amp;#8220;&lt;/span&gt;继续&lt;span lang="EN-US"&gt;&amp;#8221;&lt;/span&gt;，&lt;span lang="EN-US"&gt;&amp;#8220;&lt;/span&gt;帮助&lt;span lang="EN-US"&gt;&amp;#8221;&lt;/span&gt;等选项，如下图&lt;span lang="EN-US"&gt;3-1&lt;/span&gt;，就是一个常见的游戏界面。&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/3-1.png" width="706" height="375" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="宋体"&gt;&lt;br /&gt;&#xD;
&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font face="宋体"&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 215pt; mso-char-indent-count: 21.5; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;图&lt;span lang="EN-US"&gt;3-1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 30pt; mso-char-indent-count: 3.0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt;"&gt;和&lt;span lang="EN-US"&gt;PC&lt;/span&gt;上的运行的&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;游戏不同，我们在&lt;span lang="EN-US"&gt;WP7&lt;/span&gt;上是靠触摸屏操作的，这和用鼠标操作还是不同的。那么我们就需要先了解&lt;span lang="EN-US"&gt;WP7&lt;/span&gt;里&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;的触控操作。&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 30pt; mso-char-indent-count: 3.0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;现在的触摸屏手机基本都支持&lt;span lang="EN-US"&gt;&amp;#8220;&lt;/span&gt;多点触控&lt;span lang="EN-US"&gt;&amp;#8221;&lt;/span&gt;，比如拉伸，缩放，玩过&lt;span lang="EN-US"&gt;Iphone&lt;/span&gt;上《愤怒的小鸟》就明白游戏画面可以用两个手指拉伸和缩放。还有很有名的《水果忍者》也是&lt;span lang="EN-US"&gt;&amp;#8220;&lt;/span&gt;多点触控&lt;span lang="EN-US"&gt;&amp;#8221;&lt;/span&gt;的好游戏，你用三个手指在屏幕上划拉，屏幕上就显出三个爪子印。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 30pt; mso-char-indent-count: 3.0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;当然啦&lt;span lang="EN-US"&gt;"&lt;/span&gt;单点触摸&lt;span lang="EN-US"&gt;"&lt;/span&gt;也是支持的，你用一个指头也能操作的，比如你用一个指头在《愤怒的小鸟》里拉动弹弓。我们就从简单的&lt;span lang="EN-US"&gt;&amp;#8220;&lt;/span&gt;单点触控&lt;span lang="EN-US"&gt;&amp;#8221;&lt;/span&gt;开始了解吧。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 30pt; mso-char-indent-count: 3.0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;当我们把一个指头在屏幕上操作，可能会有这样三种动作：按，移动，移开。就拿《愤怒的小鸟》里拉动弹弓这个动作，首先我们是按下一个指头，然后向后移动，然后在屏幕上移开这个手指。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 18pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;那么这三个操作在&lt;span lang="EN-US"&gt;WP7&lt;/span&gt;的&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;里如何获取呢？我们就需要了解&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;里的&lt;span lang="EN-US"&gt;TouchPanel&lt;/span&gt;和&lt;span lang="EN-US"&gt;TouchCollection&lt;/span&gt;这两个类。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 18pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;div style="background: rgb(230, 243, 255); padding: 9pt 18pt; border: 1pt dashed rgb(221, 221, 221); mso-element: para-border-div; mso-border-alt: dashed #DDDDDD .5pt;"&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;TouchCollection touchState= TouchPanel.GetState();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;Foreach(TouchLocation location in touchState)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;switch(location.State)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;font size="2"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;case TouchLocationState.Pressed://&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-ascii-font-family: "Courier New"; mso-hansi-font-family: "Courier New";'&gt;按下&lt;/span&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;break;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 80pt; mso-char-indent-count: 8.0; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;font size="2"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;case TouchLocationState.Moved://&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-ascii-font-family: "Courier New"; mso-hansi-font-family: "Courier New";'&gt;移动&lt;/span&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;break;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 80pt; mso-char-indent-count: 8.0; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;font size="2"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;case TouchLocationState.Released://&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-ascii-font-family: "Courier New"; mso-hansi-font-family: "Courier New";'&gt;释放&lt;/span&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;break;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3" face="宋体"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 60pt; mso-char-indent-count: 6.0; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3" face="宋体"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt; mso-border-alt: dashed #DDDDDD .5pt; mso-padding-alt: 9.0pt 18.0pt 9.0pt 18.0pt;"&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 23pt; mso-char-indent-count: 2.3; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style="color: rgb(75, 75, 75); font-family: 宋体; mso-bidi-font-size: 10.0pt;"&gt;和触控操作类似的还有叫&amp;#8220;手势&amp;#8221;的，也算复杂的触控吧。&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-indent: 0cm; mso-char-indent-count: 0;"&gt;&lt;span style="color: rgb(43, 145, 175); font-family: 新宋体; font-size: 9.5pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;TouchPanel&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;.EnabledGestures = &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.FreeDrag;&lt;span style="color: rgb(0, 176, 80);"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 176, 80); font-size: 9.5pt; mso-bidi-font-family: 宋体;"&gt;用来指定手势，必须要先设定，否则报错&lt;/span&gt;&lt;span style="font-size: 8pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; (&lt;span style="color: rgb(43, 145, 175);"&gt;TouchPanel&lt;/span&gt;.EnabledGestures != &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.None)&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;{&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 21pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;switch&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; (&lt;span style="color: rgb(43, 145, 175);"&gt;TouchPanel&lt;/span&gt;.ReadGesture())&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 21pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;{&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.Tap: //&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;单击&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.DoubleTap://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;双击&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 38.85pt; text-align: left; text-indent: 24.15pt; mso-char-indent-count: 2.54; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.FreeDrag://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;自由拖动&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 2.21; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.DragComplete://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;拖动完成&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.Flick://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;轻弹&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.Hold://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;按住不动&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.HorizontalDrag://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;横向拖动&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.None://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;无手势&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.Pinch://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;捏&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.PinchComplete://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;捏完&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.VerticalDrag://&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;纵向拖动&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 42pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm 3.15pt 21pt; text-align: left; text-indent: 21pt; mso-char-indent-count: 0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;}&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 3.15pt 0cm; text-align: left; text-indent: 19.4pt; mso-char-indent-count: 2.04; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 新宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;}&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 8pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; line-height: 20pt; text-indent: 0cm; mso-char-indent-count: 0; mso-line-height-rule: exactly;" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;h2 style="margin: 13pt 0cm 0pt 36pt; text-indent: -36pt; tab-stops: list 36.0pt; mso-list: l0 level2 lfo2;"&gt;&lt;span style="mso-bidi-font-family: 汉仪大宋简;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;font size="5"&gt;3.2&lt;/font&gt;&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="5"&gt;编写&lt;span lang="EN-US"&gt;MenuEntry&lt;/span&gt;类&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt; tab-stops: 0cm;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;如图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3-1&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;每一个菜单界面里都有多个菜单项，为了表示单个菜单项，我们就需要写一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;MenuEntry&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;类。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-indent: 0cm; mso-char-indent-count: 0;" &gt;&lt;font size="2"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;菜单项可以在屏幕上输出文字来表示，为了美化还可以绘制图片来完成。菜单项一般都是纵向排列的，每个菜单项的坐标都不同，所以有这样两个属性&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font size="2"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;///&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt; &lt;/span&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;菜单项文本内容&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Text&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;&#xD;
{ &lt;span style="color: blue;"&gt;return&lt;/span&gt; text; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt;&#xD;
{ text = &lt;span style="color: blue;"&gt;value&lt;/span&gt;; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3" face="宋体"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;菜单项文本的位置&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt; Position&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;&#xD;
{ &lt;span style="color: blue;"&gt;return&lt;/span&gt; position; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt;&#xD;
{ position = &lt;span style="color: blue;"&gt;value&lt;/span&gt;; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-indent: 0cm; mso-char-indent-count: 0;" &gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;由于每个菜单项都会响应点击事件，所以我们需要声明一个事件：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;菜单项的选中事件&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;event&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;EventHandler&lt;/span&gt;&#xD;
Selected;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3" face="宋体"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;选中菜单项函数&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;internal&lt;/span&gt;&#xD;
&lt;span style="color: blue;"&gt;void&lt;/span&gt; OnSelectEntry()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&#xD;
(Selected != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;isPress = &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font size="2"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;如果菜单项是图片构成的，为了让菜单项有按下动感，我们用图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3-2&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;里的三个图片来做一个三帧动画。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&lt;/font&gt;&lt;font face="宋体"&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&#xD;
&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/3-2.png" width="778" height="76" /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;3-2&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 所以我们要用到四个变量：&lt;/span&gt;&lt;/font&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;public&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Texture2D&lt;/span&gt; menuTexture,showTexture,pressTexture,releaseTexture;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在菜单项的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;update&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;函数里要做这样的处理&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman"; mso-hansi-font-family: "Times New Roman";'&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;TimeSpan&lt;/span&gt; duration = &lt;span style="color: rgb(43, 145, 175);"&gt;TimeSpan&lt;/span&gt;.FromSeconds(0.4);//&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;菜单动画的执行时间为&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;0.2&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;秒&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&amp;nbsp;&amp;nbsp; public&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt; &lt;span style="color: blue;"&gt;void &lt;/span&gt;Update(&lt;span style="color: blue;"&gt;bool&lt;/span&gt; isSelected, &lt;span style="color: rgb(43, 145, 175);"&gt;GameTime&lt;/span&gt; gameTime)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(isPress)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;duration -=gameTime.ElapsedGameTime;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (duration &amp;lt;= &lt;span style="color: rgb(43, 145, 175);"&gt;TimeSpan&lt;/span&gt;.FromSeconds(0.2)&amp;amp;&amp;amp; duration &amp;gt; &lt;span style="color: rgb(43, 145, 175);"&gt;TimeSpan&lt;/span&gt;.FromSeconds(0.1))&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;showTexture = pressTexture; //0.2-0.1&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;秒之间显示三张图片中第二个图片&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (duration&amp;lt;= &lt;span style="color: rgb(43, 145, 175);"&gt;TimeSpan&lt;/span&gt;.FromSeconds(0.1) &amp;amp;&amp;amp;duration&amp;gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TimeSpan&lt;/span&gt;.Zero)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;showTexture =eleaseTexture;//0.1-0&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;秒间显示三张图片中第三个图片&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;else &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (duration &amp;lt;= &lt;span style="color: rgb(43, 145, 175);"&gt;TimeSpan&lt;/span&gt;.Zero)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Selected(&lt;span style="color: blue;"&gt;this&lt;/span&gt;, &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;PlayerIndexEventArgs&lt;/span&gt;(playerIndex));//&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;菜单项按下动画完成触发&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;Selected&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;事件&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;duration = &lt;span style="color: rgb(43, 145, 175);"&gt;TimeSpan&lt;/span&gt;.FromSeconds(0.4);&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;isPress = &lt;span style="color: blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;h2 style="margin: 13pt 0cm 0pt; text-indent: 0cm; mso-list: none;"&gt;&lt;span lang="EN-US"&gt;3.3 &lt;/span&gt;编写&lt;span lang="EN-US"&gt;MenuScreen&lt;/span&gt;类&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;由于菜单界面也是一个特殊的场景，所以&lt;span lang="EN-US"&gt;MenuScreen&lt;/span&gt;继承于&lt;/span&gt;&lt;/font&gt;&lt;span style='color: rgb(43, 145, 175); font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;GameScreen&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 21.85pt; mso-char-indent-count: 2.3; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;如图&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;3-3&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei";'&gt;，&lt;/span&gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;MenuScreen&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;类结构如下：&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&#xD;
&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/3-3.png" width="1024" height="768" /&gt;&#xD;
&lt;br /&gt;&#xD;
&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 20pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;图&lt;/span&gt;3-3&lt;/p&gt;&#xD;
&lt;p style="text-indent: 20pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;我们着重分析下&lt;/span&gt;HandleInput&lt;span style="font-family: 宋体;"&gt;方法&lt;/span&gt;:&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 23.75pt;" align="left"&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;public&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt; &lt;span style="color: blue;"&gt;override &lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; HandleInput(InputHelper input)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TouchCollection touchState =TouchPanel.GetState();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;bool&amp;nbsp; &lt;/span&gt;touchDetected = &lt;span style="color: blue;"&gt;false&lt;/span&gt;; //&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;是否触碰菜单&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vector2 touchPosition = &lt;span style="color: blue;"&gt;new&lt;/span&gt; Vector2();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;(TouchLocation location &lt;span style="color: blue;"&gt;in&lt;/span&gt; touchState)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;switch&lt;/span&gt;(location.State)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style="color: blue;"&gt;case &lt;/span&gt;TouchLocationState.Pressed:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; touchDetected = &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;touchPosition = location.Position;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;case &lt;/span&gt;TouchLocationState.Moved:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;case &lt;/span&gt;TouchLocationState.Released:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(touchDetected)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 28.5pt;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;{&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 57pt;" align="left"&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;foreach&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt; (&lt;span style="color: rgb(43, 145, 175);"&gt;MenuEntry&lt;/span&gt;menuEntry &lt;span style="color: blue;"&gt;in&lt;/span&gt; menuEntries)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;ouchRect = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt;((&lt;span style="color: blue;"&gt;int&lt;/span&gt;)touchPosition.X - 5, (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)touchPosition.Y- 5,&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;10, 10);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt; entryRect = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt;((&lt;span style="color: blue;"&gt;int&lt;/span&gt;)menuEntry.Position.X-&amp;nbsp;5, (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)menuEntry.Position.Y -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5,menuEntry.GetWidth(&lt;span style="color: blue;"&gt;this&lt;/span&gt;), menuEntry.GetHeight(&lt;span style="color: blue;"&gt;this&lt;/span&gt;));&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(entryRect.Intersects(touchRect)) //&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;如果触摸点在菜单项的矩形区域内&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;menuEntry.OnSelectEntry();//&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;触发菜单选中事件。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;}&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;3.4编写MainMenuScreen类&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;对于游戏主菜单界面而言，点击&amp;#8220;&lt;/span&gt;Play&lt;span style="font-family: 宋体;"&gt;&amp;#8221;&lt;/span&gt; &lt;span style="font-family: 宋体;"&gt;菜单项意味着要切入到游戏主场景里&lt;/span&gt;,&lt;span style="font-family: 宋体;"&gt;点击&amp;#8220;&lt;/span&gt;Exit Game&lt;span style="font-family: 宋体;"&gt;&amp;#8221;菜单意味着退出游戏，那么就需要在&lt;/span&gt;MenuScreen&lt;span style="font-family: 宋体;"&gt;扩展游戏场景切换的方法。在前一章节里我们简单介绍了游戏场景的管理类&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;ScreenManager&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;，在这里就派上用途了。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;首先我们让&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;MainMenuScreen&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;继承于&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;MenuScreen:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 28.5pt;" align="left"&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;public&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;MainMenuScreen&lt;/span&gt;:&lt;span style="color: rgb(43, 145, 175);"&gt;MenuScreen&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 30pt;"&gt;}&lt;/p&gt;&#xD;
&lt;p style="text-indent: 35pt;"&gt;&lt;span style="font-family: 宋体;"&gt;然后我们添加了如下等方法：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 33.25pt;" align="left"&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;///&lt;/span&gt; &lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;增加菜单项&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;param name="name"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;菜单文字&lt;/span&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;param name="screen"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;点击对应要启动的&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;Screen&lt;/span&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;param name="isExitItem"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;是否是退出菜单&lt;/span&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span style="color: gray;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;param name="isShowLoading"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;是否显示&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;loading&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;界面&lt;/span&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;param name="position"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;菜单的坐标&lt;/span&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&#xD;
&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; AddMainMenuItem(&lt;span style="color: blue;"&gt;string &lt;/span&gt;name, &lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt; screen, &lt;span style="color: blue;"&gt;bool&lt;/span&gt; isExitItem, &lt;span style="color: blue;"&gt;bool &lt;/span&gt;isShowLoading,&lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt; position)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;this&lt;/span&gt;.isShowLoading= isShowLoading;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;MenuEntry &lt;/span&gt;entry = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;MenuEntry&lt;/span&gt;(name,screen,isExitItem, position);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; entry.Selected += &lt;span style="color: blue;"&gt;new&lt;/span&gt; System.&lt;span style="color: rgb(43, 145, 175);"&gt;EventHandler&lt;/span&gt;(entry_Selected);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MenuEntries.Add(entry);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;/span&gt;&lt;span style="color: green; font-family: 宋体; font-size: 9.5pt;"&gt;菜单点击事件&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;param name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: gray;"&gt;///&lt;/span&gt; &lt;span style="color: gray;"&gt;&amp;lt;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;void&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt; entry_Selected(&lt;span style="color: blue;"&gt;object &lt;/span&gt;sender, &lt;span style="color: rgb(43, 145, 175);"&gt;EventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;MenuEntry &lt;/span&gt;menu = sender &lt;span style="color: blue;"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;MenuEntry&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;(menu.IsExitItem) //&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;如果是退出菜单&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenManager.Game.Exit();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&#xD;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScreenManager.AddScreen(menu.Screen,&lt;span style="color: blue;"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 35pt;"&gt;&lt;span style="font-family: 宋体;"&gt;此外，我们还需要写上&lt;/span&gt;InputHelper&lt;span style="font-family: 宋体;"&gt;类&lt;/span&gt;,&lt;span style="font-family: 宋体;"&gt;修改上一章节的&lt;/span&gt;GameScreen&lt;span style="font-family: 宋体;"&gt;类，&lt;/span&gt;ScreenManager&lt;span style="font-family: 宋体;"&gt;类，在这两个类里加上对输入的支持。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 31pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;在&lt;/span&gt;GameScreen&lt;span style="font-family: 宋体;"&gt;类里我们加上&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;HandleInput&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;方法&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;virtual&lt;/span&gt; &lt;span style="color: blue;"&gt;void &lt;/span&gt;HandleInput(&lt;span style="color: rgb(43, 145, 175);"&gt;InputHelper&lt;/span&gt; input)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&#xD;
&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 9.95pt;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;在&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;ScreenManager&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;里我们需要修改&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;Update&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;方法，增加对&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;screen&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;的输入响应：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if(&lt;/span&gt;!otherScreenHasFocus)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; screen.HandleInput(input);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;otherScreenHasFocus = &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 9.95pt;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;具体代码修改请看具体的&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;XNAGameSample3&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;这个&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;Demo&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;然后在&lt;/span&gt;Game1.cs&lt;span style="font-family: 宋体;"&gt;里的&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;Initialize()&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;方法里我们就加上如下代码即可：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;MainMenuScreen&lt;/span&gt; mainMenu = &lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;MainMenuScreen&lt;/span&gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"Castle Defense"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;GameMainScreen&lt;/span&gt; main = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;GameMainScreen&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2 &lt;/span&gt;position = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Vector2&lt;/span&gt;{ X = 0f, Y = 0f };&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mainMenu.AddMainMenuItem(&lt;span style="color: rgb(163, 21, 21);"&gt;"Play"&lt;/span&gt;, main, &lt;span style="color: blue;"&gt;false&lt;/span&gt;,&lt;span style="color: blue;"&gt;true&lt;/span&gt;, position);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mainMenu.AddMainMenuItem(&lt;span style="color: rgb(163, 21, 21);"&gt;"Exit"&lt;/span&gt;, &lt;span style="color: blue;"&gt;null&lt;/span&gt;,&lt;span style="color: blue;"&gt;true&lt;/span&gt;, &lt;span style="color: blue;"&gt;false&lt;/span&gt;,position);&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; screenManager.AddScreen(mainMenu, &lt;span style="color: blue;"&gt;null&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&#xD;
&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 28.9pt;" align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;最后的代码运行效果如图&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt;'&gt;3-4&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9.5pt;"&gt;：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/3-4.png" /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;demo 下载地址：&lt;a href="http://files.cnblogs.com/wangergo/XNAGameSample3.rar"&gt;/Files/wangergo/XNAGameSample3.rar&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;/font&gt;&lt;img src="http://www.cnblogs.com/wangergo/aggbug/2255192.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2011/11/19/2255192.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2011/10/29/2228933.html</id><title type="text">如何在WP7上用XNA写2D游戏（三）</title><summary type="text">第 2 章 制作XNA 2D游戏的常用组件 2.1使用LoadContent加载2D图片资源在XNA项目中，如果制作2D游戏，那么都会涉及到图片资源。比如人物的行走动画可以由连续播放一系列帧图片完成。如何在XNA里加载图片资源就是我们首先要掌握的。在上一章节，我们建了一个XNA项目解决方案，里面就带有一个Content项目。我们游戏所用的图片，音效，字体等资源都是放在这个项目里的。当然这个项目你可以认为是储存游戏资源的文件夹，方便来管理游戏资源。如何在Content项目里把不同类型的文件放置呢？跟普通站点项目一样，同类型的文件一般都放在一个文件夹里。比如图片资源都放在UI文件夹，音效文件放在S</summary><published>2011-10-29T15:02:00Z</published><updated>2011-10-29T15:02:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2011/10/29/2228933.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2011/10/29/2228933.html"/><content type="html">&#xD;
&lt;span style="font-size: 24pt;"&gt;第 2 章 制作XNA 2D游戏的常&lt;font size="3"&gt;&lt;span style="font-size: 24pt;"&gt;用组件&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;span style="font-size: 18pt;"&gt;2.1使用LoadContent加载2D图片资源&lt;/span&gt;&#xD;
&lt;p style="text-align: left; text-indent: 25pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;在XNA项目中，如果制作2D游戏，那么都会涉及到图片资源。比如人物的行走动画可以由连续播放一系列帧图片完成。如何在XNA里加载图片资源就是我们首先要掌握的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;在上一章节，我们建了一个XNA项目解决方案，里面就带有一个Content项目。我们游戏所用的图片，音效，字体等资源都是放在这个项目里的。当然这个项目你可以认为是储存游戏资源的文件夹，方便来管理游戏资源。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;如何在Content项目里把不同类型的文件放置呢？跟普通站点项目一样，同类型的文件一般都放在一个文件夹里。比如图片资源都放在UI文件夹，音效文件放在Sound文件夹。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;下面我们演示如何把UI文件里的一个.png图片添加进Content项目里。如图2-1，我们在UI文件夹上右键，选择&amp;#8220;Add&amp;#8221;,再选择&amp;#8220;Existing Item&amp;#8221;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 1em 0px 1em 0cm;"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-1.png" /&gt;&lt;br /&gt;&#xD;
&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 1em 0px 1em 0cm;"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 图&lt;span lang="EN-US"&gt;2-1&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;&lt;span lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="2"&gt;&#xD;
&lt;p style="text-align: left; text-indent: 30pt;" align="left"&gt;&lt;span style="font-family: 宋体;"&gt;然后如图2-2选择我们预先放在UI文件夹里的loading.png的图片，点击确定。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 1em 0px 1em 0cm;"&gt;&lt;br /&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-2.png" /&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;o:p&gt;&lt;span style="font-family: 宋体; font-size: 9pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 图&lt;span lang="EN-US"&gt;2-2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 30pt; mso-char-indent-count: 3.0; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;添加完毕图片，效果如图&lt;span lang="EN-US"&gt;2-3.&lt;/span&gt;右键点击图片我们可以看到属性。其中&lt;span lang="EN-US"&gt;Asset Name &lt;/span&gt;是我们在&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;里引用资源的唯一标识。&amp;#8220;&lt;span lang="EN-US"&gt;Copy to Output Directory&lt;/span&gt;&amp;#8221;我们默认选择&lt;span lang="EN-US"&gt;&amp;#8220;Do not copy&amp;#8221;&#xD;
&lt;/span&gt;如果选择了其他两项选项，那么会在我们最终生产的&lt;span lang="EN-US"&gt;XAP&lt;/span&gt;文件里包含进了原始的&lt;span lang="EN-US"&gt;.png&lt;/span&gt;文件。一般来说图片文件会变成&lt;span lang="EN-US"&gt;.xnb&lt;/span&gt;文件，这就是&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;游戏运行时的资源文件。如果选择了复制，那么还会把原始的&lt;span lang="EN-US"&gt;.png&lt;/span&gt;文件也复制进去，这样就造成了&lt;span lang="EN-US"&gt;XAP&lt;/span&gt;体积不必要的增大。要想把最终生成的&lt;span lang="EN-US"&gt;XAP&lt;/span&gt;游戏包精简，就不要选择&amp;#8220;&lt;span lang="EN-US"&gt;Copy&lt;/span&gt;&amp;#8221;。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 23pt; mso-char-indent-count: 2.3; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;需要说明的是，在&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;里支持的图片纹理文件除了&lt;span lang="EN-US"&gt;.png&lt;/span&gt;还有&lt;span lang="EN-US"&gt;.dds,.jpg,.bmp,.tga.&lt;/span&gt;等类型的文件。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&lt;font size="2"&gt;&lt;span style="font-family: 黑体; mso-hansi-font-family: Arial; mso-ascii-font-family: Arial;"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-3.png" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style="font-family: 黑体; mso-hansi-font-family: Arial; mso-ascii-font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 图&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Arial"&gt;2-3&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;2.2&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;使用SpriteBatch绘制2D纹理&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 30pt;"&gt;&lt;span style="font-family: 宋体;"&gt;在我们添加了图片资源以后，我们就可以用&lt;/span&gt;Texture2D&lt;span style="font-family: 宋体;"&gt;这个对象来在&lt;/span&gt;XNA&lt;span style="font-family: 宋体;"&gt;里处理了。代码如下&lt;/span&gt;:&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;Texture2D&amp;nbsp;loadingTexture=Content.Load&amp;lt;Texture2D&amp;gt;(&amp;#8220;UI/loading&amp;#8221;);&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体;"&gt;有了&lt;/span&gt;2D&lt;span style="font-family: 宋体;"&gt;纹理对象&lt;/span&gt;loadingTexture &lt;span style="font-family: 宋体;"&gt;后，我们就可以把图片绘制出来了&lt;/span&gt;,&lt;span style="font-family: 宋体;"&gt;如图&lt;/span&gt;2-4&lt;span style="font-family: 宋体;"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;font face="宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-4.png" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 图&lt;/font&gt;2-4&lt;span style="font-family: 宋体;"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent: 20pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;这样我们就加载了&lt;/span&gt;loading.png&lt;span style="font-family: 宋体;"&gt;这个纹理到&lt;/span&gt;loadingTexture&lt;span style="font-family: 宋体;"&gt;对象里，接下来，我们只需要如图&lt;/span&gt;2-5&lt;span style="font-family: 宋体;"&gt;在&lt;/span&gt;Draw&lt;span style="font-family: 宋体;"&gt;函数里用&lt;/span&gt;SpriteBatch&lt;span style="font-family: 宋体;"&gt;把纹理绘制出来：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;spriteBatch.Draw(loadingTexture,&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&amp;nbsp;Vector2(&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;,&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;),Color.White);&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;p&gt;&lt;br /&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-5.png" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&#xD;
&lt;/font&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;&lt;font size="3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-5&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&#xD;
&#xD;
&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 然后我们按&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;F5,&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;就能在模拟器里看到效果，如图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-6:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-6.png" /&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 45pt; mso-char-indent-count: 4.5;" &gt;&lt;font size="2"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-6&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;如何把图片绘制出来，并且能缩放，旋转，透明等处理？&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;XNA&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;里的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;SpriteBatch&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;类完全就可以满足我们的要求。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;比如，在图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-6&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;里我们把上面加载好的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;loadingTexture&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;对象绘制在屏幕左上角，也就是坐标&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt; Vector2(0,0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;spriteBatch.Begin();&lt;/div&gt;&lt;div&gt;spriteBatch.Draw(loadingTexture,&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&amp;nbsp;Vector2(&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;,&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;),Color.White);&lt;/div&gt;&lt;div&gt;spriteBatch.End();&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style='font-family: "Courier New"; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN;' lang="EN-US"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;当然，我们做游戏的时候，一个场景里肯定不可能只使用一张图片，那么就需要我们同时绘制多个纹理到屏幕上。不过不用担心，一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;SpriteBatch&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;对象可以多次调用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Draw&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;方法来绘制不同的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Texture2D&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;对象。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;spriteBatch.Begin();&lt;/div&gt;&lt;div&gt;spriteBatch.Draw(loadingTexture,&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&amp;nbsp;Vector2(&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;,&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;),Color.White);&lt;/div&gt;&lt;div&gt;spriteBatch.Draw(playerTexture,&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&amp;nbsp;Vector2(&lt;span style="color: rgb(128, 0, 128);"&gt;260&lt;/span&gt;,&lt;span style="color: rgb(128, 0, 128);"&gt;100&lt;/span&gt;),Color.White);&lt;/div&gt;&lt;div&gt;spriteBatch.End();&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 19.5pt; mso-char-indent-count: 0;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;这段代码绘制的结果如图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-7,&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;这样我们就把一个弓箭手绘制在城堡上面：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-7.png" /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="text-indent: 19.5pt;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;图&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;2-7&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent: 30pt;"&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;在绘制多个图片的时候可能出现纹理堆叠的情况，在&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;XNA&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;里最后绘制的默认在最上层，当然也可以指定绘制的层次。这些高级的&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Draw&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;方法的应用，就需要深入我们了解&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;SpriteBatch&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;对象。&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent: 20pt;"&gt;&lt;span style="font-size: 10pt;"&gt;SpriteBatch&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;对象的&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Draw&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;方法有不同的重载，其中最复杂的如下：&lt;/span&gt;&lt;/p&gt;&lt;div style="background: rgb(230, 243, 255); padding: 9pt 18pt; border: 1pt dashed rgb(221, 221, 221);"&gt;&lt;pre style="background: rgb(230, 243, 255); padding: 0cm; border: currentColor; text-indent: 20pt;"&gt;&lt;span style='font-family: "Courier New";'&gt;public void Draw (Texture2D texture,Vector2 position,Nullable&amp;lt;Rectangle&amp;gt;&amp;nbsp;sourceRectangle,Color color,float rotation,Vector2 origin,Vector2 scale,SpriteEffects effects,float layerDepth)&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="text-indent: 25pt;"&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;这个&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Draw&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;方法的第三个参数&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;sourceRectangle&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;为制定绘制纹理的那个矩形部分。这个参数非常有用，比如游戏编程里我们为了减少图片的数量和大小，我们总是把很多帧动画绘制在一张图片上如图&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;2-8&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;，如果我们要绘制单帧图片的话，我们就需要制定绘制这个图片的单帧大小的矩形范围。当然如果想要把图片完整的现实出来，只需要把这个参数设置为&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;null&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt;"&gt;就行了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/actor_bomb-hd.png" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-8&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;还有其他高级用法，比如：旋转某个纹理。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20.1pt;" &gt;&lt;font size="2"&gt;&lt;strong&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;旋转&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;那么我们就需要使用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;rotation &lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;参数旋转一个图像。你需要使用弧度值指定这个旋转角度，所以如果你想让图像顺时针旋转&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;20&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;度，你可以使用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;MathHelper.ToRadians(20)&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;需要注意的是旋转一个图片，我们总是要指定旋转中心点的，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;origin&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;这个参数就是旋转中心点。当然&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;origin&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;不光是在旋转时有用。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;origin&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;可以指定你想让图像上的哪个点位于屏幕上你在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;position&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;参数中指定的位置上。例如，如果你将&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;position,origin&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;两个参数都指定为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;，那么图像的左上角将位于屏幕的左上角，如图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-9&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;：&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/2-9.png" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-9&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;如果一张&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;80&#xD;
&amp;#215; 60&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;大小的图像，你将屏幕位置指定为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;origin&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;指定为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;(40,30)&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;，那么图像的中心点将位于屏幕的左上角，如图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-10&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;所示&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-10.png" /&gt;。&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-10&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 6pt 0cm 10.8pt; line-height: 13.15pt; text-indent: 20pt;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;font face="宋体"&gt;如果两个参数都是&lt;span lang="EN-US"&gt;(40,30)&lt;/span&gt;，那么图像的中心点将位于屏幕的&lt;span lang="EN-US"&gt;(40,30)&lt;/span&gt;位置。这时的结果与图&lt;span lang="EN-US"&gt;2-9&lt;/span&gt;一样。&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 6pt 0cm 10.8pt; line-height: 13.15pt; text-indent: 20pt;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;font face="宋体"&gt;在图片旋转的时候如果把&lt;span lang="EN-US"&gt;(0,0)&lt;/span&gt;为图像的&lt;span lang="EN-US"&gt;origin&lt;/span&gt;，这个图像会围绕这个点旋转，如图所示。如果你指定&lt;span lang="EN-US"&gt;(32,32)&lt;/span&gt;为图像的&lt;span lang="EN-US"&gt;origin&lt;/span&gt;，这个图像会围绕它的中心点旋转，如图&lt;span lang="EN-US"&gt;2-11:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-11png.png" /&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 6pt 0cm 10.8pt; line-height: 13.15pt; text-indent: 20pt;"&gt;&lt;span style="font-size: 10pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;图&lt;span lang="EN-US"&gt;2-11&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;缩放某个纹理也是我们常见的。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20.1pt;" &gt;&lt;font size="2"&gt;&lt;strong&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;缩放&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;如果你想放大&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;缩小图像，可以设置参数&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;scale&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;。因为这个参数是一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Vector2&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;，你可以对图像的水平方向和竖直方向施加不同的缩放值。例如，设置为&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;(0.5f, 2.0f)&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;将会使宽度变为原始宽度的一半，高度变为原始高度的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;倍。如图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-12&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;br /&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-12.png" /&gt;&#xD;
&#xD;
&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;图&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;2-12&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;其他还有&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;h4 style="margin: 0cm 0cm 6pt;"&gt;&lt;font size="2"&gt;&lt;font face="宋体"&gt;&lt;span style='font-family: 汉仪仿宋简; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman";'&gt;镜像&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 6pt 0cm 10.8pt; line-height: 13.15pt; text-indent: 20pt;"&gt;&lt;span style="font-size: 10pt;"&gt;参数&lt;span lang="EN-US"&gt;effects&lt;/span&gt;让你可以水平或竖直翻转图像。通过&lt;span lang="EN-US"&gt;flags&lt;/span&gt;，你可以使用&lt;span lang="EN-US"&gt;SpriteEffects.FlipHorizontally|SpriteEffects.FlipVertically&lt;/span&gt;同时进行这两个操作，这和将图像旋转&lt;span lang="EN-US"&gt;180&lt;/span&gt;度的效果是相同的。&lt;/span&gt;&lt;/p&gt;&lt;h4 style="margin: 0cm 0cm 6pt;"&gt;&lt;font size="2"&gt;&lt;font face="宋体"&gt;&lt;span style='font-family: 汉仪仿宋简; mso-bidi-font-size: 10.0pt; mso-ascii-font-family: "Times New Roman";'&gt;层深度&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 6pt 0cm 10.8pt; line-height: 13.15pt; text-indent: 20pt;"&gt;&lt;span style="font-size: 10pt;"&gt;最后一个参数&lt;span lang="EN-US"&gt;layerDepth&lt;/span&gt;让你可以指定图像位于哪个层，当你想将多个图像在有重叠时层的概念是很有用的。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 6pt 0cm 10.8pt; line-height: 13.15pt; text-indent: 20pt;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;需要注意的是&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 6pt 0cm 10.8pt 50.75pt; line-height: 13.15pt; text-indent: -30.75pt; mso-char-indent-count: 0; tab-stops: list 50.75pt; mso-list: l1 level1 lfo3;"&gt;&lt;span style="font-size: 10pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;1.&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;" lang="EN-US"&gt;layerDepth&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;是一个介于&lt;span lang="EN-US"&gt;0.0-1.0&lt;/span&gt;之间的&lt;span lang="EN-US"&gt;float&lt;/span&gt;值，一般默认为&lt;span lang="EN-US"&gt;0.0&lt;/span&gt;，如果是&lt;span lang="EN-US"&gt;0.0&lt;/span&gt;那么就指定系统最后绘制，如果是&lt;span lang="EN-US"&gt;1.0&lt;/span&gt;那么指定系统最先绘制。通俗的来讲，&lt;span lang="EN-US"&gt;layerDepth&lt;/span&gt;值越小就越在其他纹理上面。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 6pt 0cm 10.8pt 50.75pt; line-height: 13.15pt; text-indent: -30.75pt; mso-char-indent-count: 0; tab-stops: list 50.75pt; mso-list: l1 level1 lfo3;"&gt;&lt;span style="font-size: 10pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;2.&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;需要使用&lt;span lang="EN-US"&gt;spriteBatch.Begin&lt;/span&gt;的一个重载函数&lt;span lang="EN-US"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;SpriteBatch.Begin(&lt;span style="color: rgb(43, 145, 175);"&gt;SpriteSortMode&lt;/span&gt;.BackToFront,&lt;span style="color: rgb(43, 145, 175);"&gt;BlendState&lt;/span&gt;.AlphaBlend);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font size="2"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 style="margin: 13pt 0cm 0pt 36pt; text-indent: -36pt; tab-stops: list 36.0pt; mso-list: l2 level2 lfo2;"&gt;&lt;span style="mso-bidi-font-family: 汉仪大宋简;" lang="EN-US"&gt;&lt;span style="mso-list: Ignore;"&gt;2.2&lt;span style='font: 7pt/normal "Times New Roman"; font-size-adjust: none; font-stretch: normal;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;使用&lt;span lang="EN-US"&gt;ScreenManager&lt;/span&gt;管理游戏场景&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; mso-char-indent-count: 1.11;" &gt;&lt;span style="font-family: 宋体; font-size: 9pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;在一个稍微复杂的游戏里，我们都需要用到场景来处理。什么是场景，简单的来讲，比如一个过关游戏，第一关就是一个场景，第二关就是另外一个场景。每个场景里有不过的背景图片，不同的精灵角色，有不同的关卡设计。场景里的资源如何展示，从一个场景到另一个场景如何切换&lt;span lang="EN-US"&gt;,&lt;/span&gt;这些我们需要写一个专门的类&lt;span lang="EN-US"&gt;ScreenManager&lt;/span&gt;来处理。&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 9pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 23pt; mso-char-indent-count: 2.3; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;&lt;font size="2"&gt;微软&lt;span lang="EN-US"&gt;WP7&lt;/span&gt;开发者官方网站&lt;span lang="EN-US"&gt;http://create.msdn.com&lt;/span&gt;上就有&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;的小游戏示例代码，里面就有这样的&lt;span lang="EN-US"&gt;ScreenManager&lt;/span&gt;类，下面我们来简要分析下这个类，为后面我们设计游戏菜单打下基础。我省掉了中间的一些代码，大家可以看函数来理解这个类的作用。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='color: blue; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;namespace&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt; WPGame2D.Screens&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 18pt; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;///&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;画面管理类，负责管理多个画面&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 18pt; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;///&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt; &lt;/span&gt;&lt;span style='color: gray; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;ScreenManager&lt;/span&gt;&#xD;
: &lt;span style="color: rgb(43, 145, 175);"&gt;DrawableGameComponent&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Camera2D&lt;/span&gt; Camera;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;ContentManager&lt;/span&gt; ContentManager;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;所有用到的文字资源&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";'&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;SpriteFonts&lt;/span&gt; SpriteFonts;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;#8230;&amp;#8230;..&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt;&#xD;
&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt;&amp;gt;&#xD;
screens = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt;&#xD;
&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt;&amp;gt;&#xD;
screensToUpdate = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt;&#xD;
&lt;span style="color: rgb(43, 145, 175);"&gt;SpriteBatch&lt;/span&gt; spriteBatch;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;#8230;&amp;#8230;..&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;构造函数&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&#xD;
ScreenManager(&lt;span style="color: rgb(43, 145, 175);"&gt;Game&lt;/span&gt; game)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: &lt;span style="color: blue;"&gt;base&lt;/span&gt;(game)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TouchPanel&lt;/span&gt;.EnabledGestures&#xD;
= &lt;span style="color: rgb(43, 145, 175);"&gt;GestureType&lt;/span&gt;.None;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ContentManager = game.Content;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ContentManager.RootDirectory = &lt;span style="color: rgb(163, 21, 21);"&gt;"Content";&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;游戏通用默认&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;SpriteBatch&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;对象。每个场景都同享它&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;,&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;缓存了每个场景所用到的文件资源&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;SpriteBatch&lt;/span&gt; SpriteBatch&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;&#xD;
{ &lt;span style="color: blue;"&gt;return&lt;/span&gt; spriteBatch; }&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;初始化&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;ContentManager&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;对象&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt;&#xD;
Initialize()&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SpriteFonts = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;SpriteFonts&lt;/span&gt;(ContentManager);&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;base&lt;/span&gt;.Initialize();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;isInitialized = &lt;span style="color: blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; ResetTargets()&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;transitions.Clear();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;加载游戏资源&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;protected&lt;/span&gt;&#xD;
&lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt;&#xD;
LoadContent()&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;spriteBatch = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;SpriteBatch&lt;/span&gt;(GraphicsDevice);&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;blankTexture =&#xD;
ContentManager.Load&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Texture2D&lt;/span&gt;&amp;gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"Common/blank"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Camera = &lt;span style="color: blue;"&gt;new&lt;/span&gt;&#xD;
&lt;span style="color: rgb(43, 145, 175);"&gt;Camera2D&lt;/span&gt;(GraphicsDevice);&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;// &lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;让每个场景加载所用的资源&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;&#xD;
(&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt; screen &lt;span style="color: blue;"&gt;in&lt;/span&gt;&#xD;
screens)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;screen.LoadContent();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;卸载所用的游戏资源&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;protected&lt;/span&gt;&#xD;
&lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt;&#xD;
UnloadContent()&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;&#xD;
(&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt; screen &lt;span style="color: blue;"&gt;in&lt;/span&gt;&#xD;
screens)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;screen.UnloadContent();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;让每个场景执行&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;update&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;操作&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;,&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;执行游戏逻辑&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;-&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Update(&lt;span style="color: rgb(43, 145, 175);"&gt;GameTime&lt;/span&gt; gameTime)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;input.Update();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Camera.Update();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;screensToUpdate.Clear();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;&#xD;
(&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt; screen &lt;span style="color: blue;"&gt;in&lt;/span&gt;&#xD;
screens)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;screensToUpdate.Add(screen);&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#8230;&amp;#8230;&amp;#8230;..&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;开始渲染每个场景&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Draw(&lt;span style="color: rgb(43, 145, 175);"&gt;GameTime&lt;/span&gt; gameTime)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&#xD;
transitionCount = 0;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt;&#xD;
(&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt; screen &lt;span style="color: blue;"&gt;in&lt;/span&gt;&#xD;
screens)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&amp;#8230;&amp;#8230;..&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;screen.Draw(gameTime);&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&amp;#8230;&amp;#8230;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#8230;&amp;#8230;..&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;添加一个新的场景到管理器中&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; AddScreen(&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt;&#xD;
screen, &lt;span style="color: rgb(43, 145, 175);"&gt;PlayerIndex&lt;/span&gt;? controllingPlayer)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;#8230;&amp;#8230;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&#xD;
(isInitialized)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xD;
&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;screen.LoadContent();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;screens.Add(screen);&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#8230;&amp;#8230;&amp;#8230;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;移除指定的场景。不过通常调用&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;GameScreen.ExitScreen&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;来代替这个方法。这样比直接调用&lt;/span&gt;&lt;span style='color: green; font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;RemoveScreen&lt;/span&gt;&lt;span style='color: green; font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;好，中间有一个过渡过程。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; RemoveScreen(&lt;span style="color: rgb(43, 145, 175);"&gt;GameScreen&lt;/span&gt;&#xD;
screen)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&#xD;
(isInitialized)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;screen.UnloadContent();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;#8230;&amp;#8230;..&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 23pt; mso-char-indent-count: 2.3; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体;"&gt;分析这个类，我们可以看到该类继承于&lt;/span&gt;&lt;/font&gt;&lt;span style='color: rgb(43, 145, 175); font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;DrawableGameComponent,&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;从字面意思我们就可以理解到这是一个在&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;XNA&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;里可绘制出来的组件的基类。我们把场景继承于这个类，是因为每一个&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;Screen&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;里的东西基本都是可绘制的。我们在这个类上按&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;F12&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;，可以看到类的结构如图&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;2-13&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;：&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/2-13.png" width="1024" height="768" /&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 23pt; mso-char-indent-count: 2.3; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;font size="2"&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;图&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;2-13&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-indent: 20pt;" &gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 23pt; mso-char-indent-count: 2.3; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;&amp;nbsp; 比如我们从一个场景到另一个场景，我们就可以用到&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;RemoveScreen&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;和&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;AddScreen&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;方法。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 23pt; mso-char-indent-count: 2.3; mso-pagination: widow-orphan; tab-stops: 21.0pt;"  align="left"&gt;&lt;font size="2"&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;需要注意的是，&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;ScreenManager&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;类里含有&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;Draw&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;方法是实现基类&lt;/span&gt;&lt;/font&gt;&lt;span style='color: rgb(43, 145, 175); font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;DrawableGameComponent&lt;/span&gt;&lt;font size="2"&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;里定义的方法。在这个方法里我们负责把场景里的元素绘制出来。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;font size="2"&gt;&lt;span style="mso-bidi-font-size: 10.0pt;" lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;ScreenManager&lt;/span&gt;&lt;span style='font-family: 宋体; mso-bidi-font-size: 10.0pt; mso-hansi-font-family: "Times New Roman"; mso-ascii-font-family: "Times New Roman";'&gt;类里还涉及到&lt;/span&gt;&lt;/font&gt;&lt;span style='color: rgb(43, 145, 175); font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;GameScreen&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;类，我放到&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;XNAGameSample2&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;里提供给大家下载阅读，在下一章里，我们会介绍菜单的制作，配合&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;2.3&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;章节的&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;ScreenManager&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;类和&lt;/span&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;GameScreen&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;类实现点击菜单项就完成了不同游戏场景的切换。&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;/p&gt;&lt;/font&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;/p&gt;&lt;span style='font-family: "Microsoft YaHei"; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei";' lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XNAGameSample2下载地址:&lt;a href="http://files.cnblogs.com/wangergo/XNAGameSample2.rar"&gt;/Files/wangergo/XNAGameSample2.rar&lt;/a&gt;&lt;a&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style='font-family: 宋体; font-size: 9.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: "Microsoft YaHei"; mso-hansi-font-family: "Microsoft YaHei"; mso-ascii-font-family: "Microsoft YaHei";'&gt;&lt;/span&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: left; text-indent: 0cm; mso-char-indent-count: 0; tab-stops: 21.0pt; mso-layout-grid-align: none;"  align="left"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&#xD;
 &#xD;
&lt;img src="http://www.cnblogs.com/wangergo/aggbug/2228933.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2011/10/29/2228933.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2011/10/15/2213616.html</id><title type="text">如何在WP7上用XNA写2D游戏（二）</title><summary type="text">准备写一系列XNA里设计2D游戏的文章，这是第一章。 1.XNA里的hello world1.1创建XNA游戏开发项目我们初学程序的时候，总是爱写一个hello world 来体验下。可以说写出hello world 是我们了解一个语言或者框架最简单的做法。那么我们如何在wp7(windows phone 7)里用xna游戏框架在屏幕输出hello world呢。 其实微软的开发工具对开发者而言是很友好的。我们打开vs2010 Express for Windows Phone,选择File-&amp;gt;New Project菜单,新建项目XNAGameSample，如图1-1:图1-1于是我们看</summary><published>2011-10-15T11:53:00Z</published><updated>2011-10-15T11:53:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2011/10/15/2213616.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2011/10/15/2213616.html"/><content type="html">&lt;p&gt;准备写一系列XNA里设计2D游戏的文章，这是第一章。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 24pt;"&gt;1.XNA里的hello world&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;1.1&lt;span style="font-family: 华文中宋; font-size: 16pt;"&gt;&lt;font face="宋体"&gt;创建&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;游戏开发项目&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 华文中宋; font-size: 16pt;"&gt;&lt;font face="宋体"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;我们初学程序的时候，总是爱写一个hello world 来体验下。可以说写出hello world 是我们了解一个语言或者框架最简单的做法。那么我们如何在wp7(windows phone 7)里用xna游戏框架在屏幕输出hello world呢。&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;font face="宋体"&gt; 其实微软的开发工具对开发者而言是很友好的。我们打开vs2010 Express for Windows Phone,选择File-&amp;gt;New Project菜单,新建项目XNAGameSample，如图1-1:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;font face="宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/1-1.png" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: 10pt;"&gt;图1-1&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font face="宋体"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: 10pt;"&gt;于是我们看到如下图1-2这样的解决方案：&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;font face="宋体"&gt;&amp;nbsp; &lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/1-2.png" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: 10pt;"&gt;图1-2&lt;/span&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 对这个解决方案，在右侧的解决方案资源管理器（Solution Explorer）里我们可以看到两个项目:&lt;/font&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt;XNAGameSample和XNAGameSampleContent.&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在我们项目储存的硬盘上我们可以看到图1-3这样的目录结构：&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/1-3.png" /&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 图1-3&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font face="宋体"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 其中XNAGameSampleContent项目是我们用来管理游戏资源文件的项目，我们以后用到贴图，模型，声音等资源都会放在这里管理。&lt;/font&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XNAGameSample是我们的主项目。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在XNAGameSample项目里我们开打game1.cs文件，这是游戏运行的主入口,如图1-4:&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/1-4.png" width="1024" height="768" /&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;图1-4&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font face="宋体"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在Game1.cs里面有Initialize,LoadContent,UnloadContent,Update,Draw五个方法。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt; 那么这五个方法各自在游戏里起什么作用呢?在后面的章节里我们会了解到这五个方法各自的用途。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;font face="宋体"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 华文中宋; font-size: 16pt;"&gt;1.2 update &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 华文中宋; font-size: 16pt;"&gt;和draw&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;从函数命名上，我们可以猜测得到LoadContent是负责加载游戏资源的。Draw 是用来绘制游戏界面的。那么Update呢，从字面意思上我们可以看到是&amp;#8221;更新&amp;#8221;的意思，那么这个方法里更新什么呢?&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;举一个简单的游戏场景来说。如果我们绘制一个手拿盾牌的小兵，让他从手机屏幕的左边跑到右边，那么我们怎么做呢。&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;首先，我们会用LoadContent来加载这个小兵所使用到的所有贴图资源。然后用Draw 方法把贴图绘制到屏幕制定的位置。但是我们要求的是小兵是移动的，从左边跑到右边，在跑的过程中还涉及到帧动画的变化。那么这些问题我们都需要在Update里来处理。简单来说,我们需要在Update里改变小兵的坐标位置和变换所用到的贴图资源。&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;我们需要了解的是Update 和Draw 在游戏运行过程中是按一定时间间隔不停被调用的方法，这样我们才能看到连续的动画。用流程图我们可以这样来描述：&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/1-12.png" /&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;我们在WP7上写&lt;span lang="EN-US"&gt;XNA&lt;/span&gt;游戏的时候，需要了解一个很重要的概念，就是刷新率是多少？通俗的说，&lt;span lang="EN-US"&gt;1&lt;/span&gt;秒钟D&lt;span lang="EN-US"&gt;raw&lt;/span&gt;和U&lt;span lang="EN-US"&gt;pdate &lt;/span&gt;被调用多少次。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;只有弄清楚这个问题，我们才能控制&lt;span lang="EN-US"&gt;2D&lt;/span&gt;游戏动画的播放速度。&lt;span lang="EN-US"&gt;WP7&lt;/span&gt;里&lt;span lang="EN-US"&gt;xna&lt;/span&gt;的刷新率默认为&lt;span lang="EN-US"&gt;30fps.&lt;/span&gt;也就是说&lt;span lang="EN-US"&gt;1&lt;/span&gt;秒钟D&lt;span lang="EN-US"&gt;raw &lt;/span&gt;和U&lt;span lang="EN-US"&gt;pdate &lt;/span&gt;要被调用&lt;span lang="EN-US"&gt;30&lt;/span&gt;次。如图1-4，我们展开Game1函数，可以看到如下代码:&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: 'Courier New'; font-size: 13px; line-height: 19px; "&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;Game1()&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;graphics&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;GraphicsDeviceManager(&lt;span style="color: #0000FF;"&gt;this&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Content.RootDirectory&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Content&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;nbsp;Frame&amp;nbsp;rate&amp;nbsp;is&amp;nbsp;30&amp;nbsp;fps&amp;nbsp;by&amp;nbsp;default&amp;nbsp;for&amp;nbsp;Windows&amp;nbsp;Phone.&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TargetElapsedTime&amp;nbsp;=&amp;nbsp;TimeSpan.FromTicks(&lt;span style="color: #800080;"&gt;333333&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p &gt;&lt;/p&gt;&#xD;
&lt;p&gt;其中有一段英文注释是"Frame rate is 30 fps by default for Windows Phone.",意思是Windows Phone 的默认FPS是30.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 华文中宋; font-size: 16pt;" lang="EN-US"&gt;&lt;strong&gt;&lt;font face="宋体"&gt;1.3 LoadContent 和 UnloadContent&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 华文中宋; font-size: 16pt;" lang="EN-US"&gt;&lt;font face="宋体"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="宋体"&gt;&lt;font &gt;在1.2章节里我们已经简单介绍了LoadContent和UnloadContent的作用，如果我们需要在WP7里输出一段文字，我们就需要用到LoadContent了，在XNA里我们要经常接触到SpriteFont对象，这个对象是负责控制输出字体的，在XNA里字体的样式我们需要用一个XML文件来控制。如图1-5，我们在XNAGameSampleContent&lt;/font&gt;&lt;/font&gt;项目里创建一个新的文件夹&amp;#8220;Fonts&amp;#8221;,然后我们在XNAGameSampleContent项目里新建的Fonts文件夹上点击右键选择Add,然后选择New Item,再选择sprite font ，把Name改成default.spritefont,最后点击 add。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/1-5.png" width="1024" height="768" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 图1-5&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 然后，如图1-6，我们修改default.spritefont的内容为：&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/1-6.png" width="1024" height="768" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 图1-6&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 做好了上面的准备工作,我们在Game1.cs里增加一个新的对象font,然后在LoadContent函数里添加如下代码:&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;font&amp;nbsp;=&amp;nbsp;Content.Load&amp;lt;SpriteFont&amp;gt;(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Fonts/default&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;如图1-7：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/1-7.png" width="1024" height="768" /&gt;&#xD;
&lt;/p&gt;&lt;p&gt;图1-7 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;接着在Draw函数里写下如下代码:&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteBatch.Begin();&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteBatch.DrawString(font,&amp;nbsp;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Hello&amp;nbsp;world&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&amp;nbsp;Vector2(&lt;span style="color: #800080;"&gt;200&lt;/span&gt;,&lt;span style="color: #800080;"&gt;100&lt;/span&gt;),&amp;nbsp;Color.Black);&lt;br /&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteBatch.End();&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;如图1-8：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/1-8.png" width="1024" height="768" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;图1-8&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt; mso-line-height-rule: exactly;" &gt;&lt;font  face="宋体"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;然后我们只需要在工具条的最右边选择"Window Phone 7 Emulator"按下&lt;span lang="EN-US"&gt;F5,&lt;/span&gt;在模拟器模式下就能运行这个小小的&lt;span lang="EN-US"&gt;demo&lt;/span&gt;了,如图1-9:&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/60684/1-9.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;图1-9&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;那么我们怎么要在真机上调试呢？在下一章节我们就会讲到。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 华文中宋; font-size: 16pt;"&gt;1.4&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 华文中宋; font-size: 16pt;"&gt;调试和部署XNA项目&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;首先，我们需要装上Zune,我们的wp7手机也需要解锁。解锁需要我们拥有WP7开发者账号。注册地址：&lt;a href="http://create.msdn.com/" target="_blank"&gt;http://create.msdn.com/&lt;/a&gt;。如图1-10：&lt;/p&gt;&#xD;
&lt;p&gt;Tips:如果你有.edu的学生邮箱，又通过dreamSpark认证，就可以免去$99的年费。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/1-10.png" /&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;图1-10&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;准备好这些后，我们用数据线连上WP7真机，如果WP7被识别，会自动启动Zune。如图1-11：&lt;/p&gt;&#xD;
&lt;p style="line-height: 20pt;"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/1-11.png" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;图1-11&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 20pt;" align="left"&gt;然后我们在&lt;span&gt;vs2010 Express for Windows Phone的工具条最右边&lt;/span&gt;选择"Windows Phone 7 Device"。再按F5。等几秒钟后，我们的项目编译后产生的XAP文件就被部署到真机里运行了。&lt;/p&gt;&#xD;
&lt;p style="text-align: left; line-height: 20pt;" align="left"&gt;demo源代码下载地址：&lt;a href="http://files.cnblogs.com/wangergo/XNAGameSample1.rar"&gt;/Files/wangergo/XNAGameSample1.rar&lt;/a&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src="http://www.cnblogs.com/wangergo/aggbug/2213616.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2011/10/15/2213616.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2011/08/17/2142880.html</id><title type="text">如何在WP7上用XNA写2D游戏（一）</title><summary type="text">游戏背景： 时间是欧洲中世纪，一位英雄坚守着他国家最后的城堡。一旦敌人攻破这个城堡，他的任务就失败了。这位英雄有着百步穿杨的本领，还有强大的魔法技能。虽然敌人发起了一波波潮水般的攻击，但他都顽强的击退了。 敌人不甘失败，派出了各种兵力，长矛兵，盾牌兵，骑兵，后来还调来投石车，空中的狮鹫骑士。敌人势要把这个城堡攻下，这位最后的英雄能守住城堡吗？ 开发历程： 这个游戏我从过年开始构思，然后和美术方面的朋友沟通，本打算用XCODE写在Iphone上，后来发现自己XCODE游戏开发经验不是很足，并且App store上的游戏竞争激烈，类似的游戏也有了。于是我转到WP7平台上，用自己最拿手的C#来开发。</summary><published>2011-08-17T03:25:00Z</published><updated>2011-08-17T03:25:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2011/08/17/2142880.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2011/08/17/2142880.html"/><content type="html">&lt;p&gt;&lt;strong&gt;游戏背景：&lt;/strong&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;/p&gt;&lt;p&gt;时间是欧洲中世纪，一位英雄坚守着他国家最后的城堡。一旦敌人攻破这个城堡，他的任务就失败了。这位英雄有着百步穿杨的本领，还有强大的魔法技能。虽然敌人发起了一波波潮水般的攻击，但他都顽强的击退了。&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;敌人不甘失败，派出了各种兵力，长矛兵，盾牌兵，骑兵，后来还调来投石车，空中的狮鹫骑士。敌人势要把这个城堡攻下，这位最后的英雄能守住城堡吗？&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;开发历程：&lt;/strong&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;这个游戏我从过年开始构思，然后和美术方面的朋友沟通，本打算用XCODE写在Iphone上，后来发现自己XCODE游戏开发经验不是很足，并且App store上的游戏竞争激烈，类似的游戏也有了。于是我转到WP7平台上，用自己最拿手的C#来开发。&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt;我花了2周左右的时间熟悉了XNA框架，本来想用Sliverlight写的，权衡了下，觉得在WP7上写游戏还是XNA正统。游戏原型出来，验证用手拉动弓箭来控制方向和力度能够实现后，我就开始正式写这个游戏。&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;期间，对于操作模式有两种打算，一种是用手拉，一种自动射击模式。用手来可以考验用户的操作性，但是时间长了，玩家就会觉得手很疲劳。于是我又写了自动射击模式，玩家只要手点到某个方向，就可以自动射击。在游戏正式发布时，我想提供这两种模式，提供给用户切换。&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;然后就是和朋友沟通游戏UI方面的问题，探讨兵种的动画设计，技能设计。&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;完成的功能有：&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;1.给城堡设置了血量，降到0就失败，城堡损伤效果会有动态效果。&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2.写出了普通，火，冰箭的魔法飞行效果&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;3.模拟出了重力加速度下的飞行抛物线。&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;4.游戏的设置保存XML并储存，以及序列化和反序列化&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;5.选中技能图标的闪烁动画。&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;6.写完了多重，多重火，冰箭&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;7.给兵种添加了阴影效果&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;&lt;p&gt;8.增加了技能CD效果&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;&lt;p&gt;9.增加了技能树界面，新的技能需要金币来学习&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;开发心得：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;CastleDefense 游戏开发到现在，基本完成核心的功能，但是游戏关卡的可玩性感觉还不够高，游戏难度需要精心调整。坦白的说，和国外团队游戏大作相比，自己写的游戏还是比较简陋。&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;不过，任何一个游戏和开发者都是需要成长的，就算暴雪也是从一个小工作室起步的。希望大家给出中肯的意见，欢迎拍砖和鼓励。&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;&lt;p&gt;我也是在工作之余来开发的，时间精力的确有限。不管怎么样，我会继续完成这个游戏。&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;游戏玩法：&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;&lt;p&gt;点击屏幕，让弓箭射向进攻的小兵。 屏幕左下角是技能图标，可以点击选择技能，如果技能为红色，说明没有学习该技能，技能有CD限制。&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;屏幕下方中央 齿轮 按钮 点击后出现技能学习界面，需要花金币来学习技能。&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;&lt;p&gt;Tips: 投石车最怕火攻，体积大的兵种是BOSS，最好优先消灭，请使用冰冻箭降低它的速度。&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;游戏难度现在设定很高，我玩到第9关就手忙脚乱了，当然这个只是测试版，还需要做很大修正的。请大家多提意见，好来完善这个游戏。&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wangergo/164356y5iw52gl345cpq5c.jpg.thumb.jpg" width="510" height="304" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wangergo/164357xe1fccc51z71fkcu.jpg.thumb.jpg" width="510" height="305" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wangergo/1643566sx11p6hydpx5x15.jpg.thumb.jpg" width="510" height="303" alt="" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;游戏视频：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.tudou.com/programs/view/yteOHtOn_Wg/" title="游戏DEMO视频地址"&gt;CastleDefense视频&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;游戏Demo下载XAP包地址:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000; "&gt;微软APP HUB的Beta测试也在提交中，如果希望未来在Zune里下载到Beta测试版，请留下你的LiveID(也就是你的wp7手机关联的LiveID,也就是电子邮件地址).&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wangergo/aggbug/2142880.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2011/08/17/2142880.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2010/12/25/1916813.html</id><title type="text">我的2010年</title><summary type="text">今天不是圣诞节么？对我来说，是一个休息的好借口，项目组的成员都小小的身体不适过，的确比较辛苦，我这个月几乎天天迟到。一周三次更新版本让大家都神情紧张，精神不佳。我想如果办公室里有沙袋的话，我会天天胖揍它一顿。其实这个主意不错，买一个沙袋和拳击手套放到公司里，让大家不爽的时候出出气啥的。  好多同学也许要问，老师，你现在在做什么项目啊。说来话长，就从年初开始讲起吧。1月份的时候，我到北京面试成功，职位是web game开发小组的 Team leader.薪水达到了我的预期。我决定离职，离开工作了3年多的北大青鸟。为了离职我准备了近一年的时候，一方面我对技术进行了储备，学了asp.net MVC,</summary><published>2010-12-25T09:25:00Z</published><updated>2010-12-25T09:25:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2010/12/25/1916813.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2010/12/25/1916813.html"/><content type="html">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font size="2"&gt;今天不是圣诞节么？对我来说，是一个休息的好借口，项目组的成员都小小的身体不适过，的确比较辛苦，我这个月几乎天天迟到。一周三次更新版本让大家都神情紧张，精神不佳。我想如果办公室里有沙袋的话，我会天天胖揍它一顿。其实这个主意不错，买一个沙袋和拳击手套放到公司里，让大家不爽的时候出出气啥的。&lt;/font&gt; &#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 好多同学也许要问，老师，你现在在做什么项目啊。说来话长，就从年初开始讲起吧。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1月份的时候，我到北京面试成功，职位是web game开发小组的 Team leader.薪水达到了我的预期。我决定离职，离开工作了3年多的北大青鸟。为了离职我准备了近一年的时候，一方面我对技术进行了储备，学了asp.net MVC,SL。另一方面我在考虑个人创业的可能。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 离职的过程是友好的，我骨子里是一个不安分的人，当然生活的压力是重要的外因，性格是内因。2009年我的工作离我的预期有差距，我的目标是做高端点的培训的，不想再重复简单的东西。我个人不是一个有耐心的人，简而言之就是急性子。其实我的性格变化挺大的。在学校里，性子慢着呢，口头禅是：&amp;#8220;慢慢来嘛&amp;#8221;。等工作了，我就变了，时间，目标，预期是我看重的。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 回武汉的旅途中还有个小插曲，一位副局长和我神侃后强要把我拉到他们那里帮他做一个项目。用软件行业的话来说，就是一位位高权重有决定权的客户和一位资深软件工程师兼培训讲师进过需求沟通后。客户对工程师的业务水平和相关开发经验很有信心，觉得他是完成这个潜在项目最佳人选。我的Demo和沟通让他知道了他需要做一个什么样的软件，大概功能是什么样的。说实在的他对数据的理解就是台账，权限设置也表述得太口语化。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 结果呢，我本来没打算再做私活的，却中途下了火车，一顿吃吃喝喝后，副局长找来一位科长和我沟通需求，我于是在本本上记录了10几条需求作为备忘。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 好了，第二天我就被司机送到回武汉的车上。不过晚回北大青鸟，让我去北京的行程暴露了。于是我迅速离职了，拜拜，兄弟们，我走了。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 到北京后，项目启动的不顺利。人手，BOSS的规划似乎都没有一个明确的说法。我上半年就写了一个SL小游戏，做了公司的产品网站，弄了一个分布式文件系统，还用C++写起了手游的服务端。总之，是一个没有正式项目，没有正式成员的TL.&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 至到这个项目开始，我才回到正轨上。我的身份是WEB 前端开发的头，主要负责智能手机（Iphone,andriod）的web项目以及PC上的网站项目。目前的重点是手机上的LBS项目。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 这个项目的难点是Javascript，html5,css3。当然权重最大的还是JS，我从来没写过前端是纯JS的项目，也就是说页面的呈现完全用JS来完成。至于技术上的心得以后再写。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 可以透露下，QQ邮箱里的漂流瓶也许大家都玩过，不过我觉得和我们目前这个项目比起来，QQ的不好玩。一，QQ的地理位置不明确，从一般浏览器上用IP地址来定位很不准确的。二，QQ的漂流瓶用户互动不够，让人没有一直交流下去的欲望。三。QQ的漂流瓶可玩性不高。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 我的未来工作还是继续完成项目的研发，在过年前把版本稳定到一个版本上。团队建设上，我还需要两个懂JS的C#开发人员，如果有同学对JS有较好的使用，对ASP.MVC有了解，一年以上工作经验，还能忍受我像曼联弗格森式&amp;#8220;电吹风&amp;#8221;样对你工作咆哮的话可以和我联系。当然啦，我不会为一点小失误就咆哮的，年轻人失误不可避免，但你要让我看到你工作的态度，别把生活上的事放到工作中，别刚下班就一阵烟就溜了。别在工作时打马虎，睡懒觉。这个团队需要有战斗力，对手太强大，敌人太狡猾，同志需要努力。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 也许你要问这么辛苦干什么，为什么神马要赶进度。说实在的，让我高负荷工作我也会骂娘。骂归骂，把眼光放远点。互联网上成功的不少，失败的也很多。你占了先机，你才有那么一点话语权。虽说中国的局域网很扯淡，但是你一个小公司，一个小团队，落后了连扯淡的机会都没有。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 其实我工作失误也有，主要在管理上。对未来面试人员的印象有点片面，纸上来之终觉浅。只看简历，有时会漏掉素质不错的人，虽然简历看上去不那么吸引人。所以同学们，别在简历上堆砌太多不能访问的网站，也不能放些太多雷同的项目。突出你的技术能力，项目经验，一定要写清楚。比如我看完30封简历，只会有一个还过得去的。神马22岁工作才一年的技术总监，搞网络的来投WEB开发。毕业时间和工作经历差太离谱的。在我这里就通过不了，没有面试机会。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在小组成员的代码Code View上做得不够，审核力度不够。对他们的任务分配不够有计划。对他们的技术指导也没规划。和他们的沟通不够多。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;扯了这么多工作上的，也无趣的很。不过没办法，这个社会普通人都要工作，都想挣钱，都想有房有车。有时候你懂的，你月薪1,2千和1,2万的人比，你还很些差距。当你月薪几千元的时候，吃了喝了租房了，每个月所剩无几，不小心还月光了。一些投资机会你看着也没办法，你没法跑赢CPI的增长。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 其实理财，说来很俗。我当年高傲的说：&amp;#8220;钱乃身外物&amp;#8221;，等若干年后，银行没存款，混得灰头土脸，年级一大把还飘来飘去。心爱的人被人用房子勾跑了你就知道：&amp;#8220;咦，我是神马玩意。&amp;#8221;像我这样的男人还真是一抓一大把。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 我买过1万多的笔记本，现在贬值得只有千把块。我还被人偷了近5W块钱，其实这是因为目光短浅，只知道把钱放银行里，不知道不能把&amp;#8220;鸡蛋放到一个篮子&amp;#8221;里造成的。这都是年轻的代价。钱没了，大家就同情下。自己呢，打落牙齿往肚里咽，至于损失其实都不是钱上面的，都是机会上的损失。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 大家都知道的，房价是越来越高，都说是泡沫，很疯狂。我当年也在08年乐观的认为，大家会理智的。等后来我就完全看明白了本质的原因。土地是国有的，Z F要弄钱，官员们要腐败，股市也很低迷，丈母娘也喜欢房子。于是房子就成了投资对象，跌，没神马东西不会跌的，没神马不可以涨的，当然工资除外。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 于是我们就骂娘，骂开发商，骂女人只看中房子。女人为神马要看中房子啊，因为房子价值高，不好弄啊。女人归根结底是物质的，你要懂她们是为下一代考虑的，找个能提供比较丰厚物质养活她们的无可厚非。就像大家都喜欢找美女做老婆，找富翁做老公一样。从生物学角度上讲，这叫做基因的战争，大家都想求一个好的基因。可好的毕竟是少数，于是就有了竞争，于是就有了大家的逐利行为。于是就有了房子，车子的要求，本质上讲就是一个竞争门槛的问题。不说有句话么？能用钱解决的问题都不是问题，问题是没钱。所以，少年们，向着太阳奔跑吧。去努力工作，努力捞钱吧。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;我承认我很俗，我教坏少年。不过勤奋向上一点总不是坏事。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 于是我要忍受工作的辛苦，在住的地方忍受二手烟的熏陶，要每天耳朵里被重复得灌着同一首歌。谁让我08年没看好自己的财产，自己损失的东西只好自己奋起点弄回来。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6月份的时候，我就准备投资房子。这些都是我在过年的时候计划的，本来是5月份要做的。我当时对李果说：&amp;#8220;明年房子在5月份不是大涨就是跌，我大概到5月份能有多少多少钱。&amp;#8221;反正一副财迷的样子，没办法啊，过去过得太潇洒，是得吃苦头了。一番周折，在大家抢房子就像抢白菜一样交了定金。这个时候神马国几条出来啦，同事说你不怕跌吗。我当然怕啦，不过大学里不是学过马克主义经济学的么？价格总是由价值决定的，价格总会回归于价值。房子的价值不光是住，还跟户口神马的扯在一起就是隐性价值。光从一般价值来看，就我了解房子的建筑成本在小地方是800左右/平方。同时钢材，水泥还在涨价。如果房子的价格比1000元/平方高不了台离谱，那么我就不怕。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 半年房奴也快做完了，的确有些压力，不过比起银行5%不到的，基金18%（这还是我在最低点时候的投资）的收益。房子让我把以前的经济损失补回来了。当然这个房子的命运估计会在适当的时候被我卖掉。不过也许我以后混得不好用来养老也说不准。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;总之，2010就要告别的，我基本以经济建设为中心。来年，生活会好一点吧，让我开心点吧，能做成一点神马吧。家人都要好好的，朋友要常见面。工资要努力跑赢CPI，争取明年年底送自己一个大礼物。&lt;/font&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wangergo/aggbug/1916813.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2010/12/25/1916813.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2010/05/26/1744729.html</id><title type="text">Silverlight MMORPG WebGame游戏设计(七)-----IsolatedStorage,想说爱你不容易</title><summary type="text">在我开始写Web传奇的时候，就在想一个问题：如果我把所有的地图，怪物图片，音效等游戏资源都放在XAP包里，这个XAP包就会越来越大。在我很早以前玩传奇2的时候，安装包就300多M，后来传奇3就有1G多了。如果等我的web传奇越写越大的时候，那我的游戏需要loading多久啊，玩家可等不了。所以我把微软的文档找来，发现有独立储存区域这个东西，微软的解释如下：[代码]  于是我就有这样的设想： 1.把...</summary><published>2010-05-26T14:52:00Z</published><updated>2010-05-26T14:52:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2010/05/26/1744729.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2010/05/26/1744729.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 10pt"&gt;在我开始写Web传奇的时候，就在想一个问题：如果我把所有的地图，怪物图片，音效等游戏资源都放在XAP包里，这个XAP包就会越来越大。在我很早以前玩传奇2的时候，安装包就300多M，后来传奇3就有1G多了。如果等我的web传奇越写越大的时候，那我的游戏需要loading多久啊，玩家可等不了。所以我把微软的文档找来，发现有独立储存区域这个东西，微软的解释如下：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 通过使用独立存储，数据将始终按用户在虚拟文件系统中隔离，虚拟文件系统可以是根目录中的一个文件，也可以是一个目录和文件树。&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;独立存储数据舱是一个抽象的存储位置，而不是一个具体的存储位置。它由一个或多个独立的存储文件（称为存储区）组成，这些存储文件包含存储数据的实际目录位置。任何类型的数据都可以保存到存储区中。&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;于是我就有这样的设想：&lt;/p&gt;&#xD;
&lt;p&gt;1.把游戏所需的资源从服务端下载silverlight客户端的独立存储区域里。这样游戏客户端第一次下载完毕后，下次登陆就不用下载这些资源了，可以很快的进入游戏。&lt;/p&gt;&#xD;
&lt;p&gt;2.按每个地图分别做成不同的zip包，如果开新的地图只需要在服务端放上新的地图包，在客户端登陆的时候通知其下载就可以了。&lt;/p&gt;&#xD;
&lt;p&gt;3.xap包里的资源尽量少，除了必要的dll文件，其他都不放，这样我们就能把xap包控制在300K以内，客户端loading的速度就很快了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;根据微软的silverlight3文档，我写了一个独立存储区域资源读写类&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('1fc76497-000f-42d9-8c7c-9ca1a7887439')"&gt;&lt;img style="display: none" id="code_img_opened_1fc76497-000f-42d9-8c7c-9ca1a7887439"  onclick="cnblogs_code_hide('1fc76497-000f-42d9-8c7c-9ca1a7887439',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_1fc76497-000f-42d9-8c7c-9ca1a7887439" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;独立存储区域操作类&amp;nbsp;by&amp;nbsp;williams&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IsolatedStorageUtil&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;私有成员&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsolatedStorageFile&amp;nbsp;store&amp;nbsp;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;long&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;availableFreeSpace;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;long&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;totalSpace;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#endregion&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;构造函数&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;IsolatedStorageUtil()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;store&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IsolatedStorageFile.GetUserStoreForSite();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;availableFreeSpace&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.AvailableFreeSpace;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalSpace&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.Quota;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#endregion&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;操作方法&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;增加新的空间&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="spaceSize"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AddNewSpace(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;long&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;spaceSize)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.IncreaseQuotaTo(spaceSize);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;得到独立存储区域里的目录&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;GetDirectoryNames()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.GetDirectoryNames();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;{&lt;/span&gt;&lt;span style="color: #800000"&gt;""&lt;/span&gt;&lt;span style="color: #000000"&gt;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;得到独立存储区域里的目录&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="searchStr"&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;可以使用?,*匹配符号&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;GetDirectoryNames(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;searchStr)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.GetDirectoryNames(searchStr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;""&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;检查文件夹是否存在&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="directName"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DirectorExist(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;directName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.DirectoryExists(directName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;判断文件是否存在&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filePath"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;FileExist(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.FileExists(filePath);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;获取独立存储区域里的所有文件名&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;GetFileNames()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.GetFileNames();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;""&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;在独立存储区域里新建目录&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="DirectoryName"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CreateDirectory(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DirectoryName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;store.CreateDirectory(DirectoryName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;根据制定文件地址创建文件，如果路径不存在，则自动创建目录&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filePath"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IsolatedStorageFileStream&amp;nbsp;CreateFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;filePath&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;filePath.Replace(&lt;/span&gt;&lt;span style="color: #800000"&gt;'&lt;/span&gt;&lt;span style="color: #800000"&gt;\\&lt;/span&gt;&lt;span style="color: #800000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800000"&gt;'&lt;/span&gt;&lt;span style="color: #800000"&gt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;'&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;设定文件夹只有两层,比如data/objects.zip&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(filePath.Contains(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;diractory&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath.Substring(&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;filePath.IndexOf(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;));&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;得到data&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filename&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath.Substring(filePath.LastIndexOf(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;得到filename&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;DirectorExist(diractory))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateDirectory(diractory);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;store.CreateFile(filePath);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;把制定内容写入到指定文件中&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filePath"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="content"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;WriteToFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath,&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;content)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store.FileExists(filePath))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(StreamWriter&amp;nbsp;sw&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;StreamWriter(store.OpenFile(filePath,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileMode.Open,&amp;nbsp;FileAccess.Write)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sw.WriteLine(content);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(IsolatedStorageException&amp;nbsp;ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;把制定的流数据写入到指定数据中&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filePath"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="fs"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;WriteToFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath,&amp;nbsp;Stream&amp;nbsp;fs)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store.FileExists(filePath))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Stream&amp;nbsp;sw&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;store.OpenFile(filePath,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileMode.Open,&amp;nbsp;FileAccess.Write))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Byte[]&amp;nbsp;data&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[fs.Length];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fs.Read(data,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;)fs.Length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sw.Write(data,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;)fs.Length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sw.Flush();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sw.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(IsolatedStorageException&amp;nbsp;ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;从指定文件中读取内容&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filePath"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ReadContentFromFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(StreamReader&amp;nbsp;reader&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;StreamReader(store.OpenFile(filePath,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileMode.Open,&amp;nbsp;FileAccess.Read)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;contents&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;reader.ReadToEnd();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;contents;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(IsolatedStorageException)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;""&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;读取指定文件的流&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filePath"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Stream&amp;nbsp;ReadStreamFromFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;store.OpenFile(filePath,&amp;nbsp;FileMode.Open,&amp;nbsp;FileAccess.Read);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;删除指定的文件&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filePath"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DeleteFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store.FileExists(filePath))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;store.DeleteFile(filePath);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(IsolatedStorageException)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;删除指定的目录&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="dirDelete"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DeleteDirectory(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;dirDelete&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(store.DirectoryExists(dirDelete))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;store.DeleteDirectory(dirDelete);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(IsolatedStorageException&amp;nbsp;ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#endregion&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;IsolatedStorageUtil类里的代码很简单，但在后面却非常频繁的使用到。写完了IsolatedStorageUtil类，大家就会问了，那服务端的文件如何如何下载到客户端呢？xap包是自动下载到内存，可是现在我们的资源没有放到xap包里，怎么办？&lt;/p&gt;&#xD;
&lt;p&gt;还是那句话，看微软的官方文档。什么？你说你从来没看过文档，那真可惜了，作为一个.net程序员，&amp;#8220;红宝书&amp;#8221;般的东西，不说倒背如流，遇到问题的时候翻翻，总能让你茅塞顿开。&lt;/p&gt;&#xD;
&lt;p&gt;我当时在群里大喊：&amp;#8220;兄弟们，如果&lt;span&gt;下&lt;/span&gt;载文件包到本地啊？&amp;#8221;喊了几声，没人回答我。那时候我们群里用silverlight写比较大点的游戏的就5个人，深蓝，我，潮州人，开心银光，上海goods。深蓝写了非常有名的系列文章，潮州人写了SNS社区的游戏，开心银光写了&amp;#8220;冒险岛&amp;#8221;，上海goods写的就杂了：德州扑克，把深蓝的游戏改成网络版，我呢，就一门心思想把&amp;#8220;传奇&amp;#8221;搬到web上来。&lt;/p&gt;&#xD;
&lt;p&gt;没人回答我，是因为大家都是才跟随&amp;#8220;深蓝&amp;#8221;的脚步，踏入silverlight游戏开发的不毛之地，大家都是摸着石头过河，只能靠自己摸索了。&lt;/p&gt;&#xD;
&lt;p&gt;我见没人解答我的问题，想起&amp;#8220;红宝书&amp;#8221;，忙翻开一看，在&amp;#8220;网络和通讯&amp;#8221;章节里有一篇叫&amp;#8220;按需下载&amp;#8221;，这一定是我要的。我现在做的东西不就是&amp;#8220;按需下载&amp;#8221;么？&lt;/p&gt;&#xD;
&lt;p&gt;原来，从silverlight2后webclient取代了&lt;span sdata="link"&gt;&lt;span &gt;Downloader&lt;/span&gt;&lt;/span&gt; 地位，专门负责silverlight客户端的网络下载。文档里写的清清楚楚，明明白白，真是&amp;#8220;众里寻他千百度，蓦然回首，却在灯火阑珊处。&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;大家可以打开&lt;a href="http://msdn.microsoft.com/zh-cn/library/cc189021(v=VS.95).aspx" target="_blank"&gt;MSDN&lt;/a&gt;里的文章看看，不是&amp;#8220;红宝书&amp;#8221;是什么？&lt;/p&gt;&#xD;
&lt;p&gt;看完&amp;#8220;红宝书&amp;#8221;，我赶忙写出了DownloadHelper类，&lt;span style="color: #ff0000"&gt;在这里我有个疑问，我想写一个批量下载多个文件的方法，效果却不是太好，连续下载的文件一多，文件的保存就有问题，有的文件保存失败&lt;/span&gt;，如果有谁能改进下这个类里的DownloadFilesByWhile()方法，不盛感激，现在我只用这个方法下载单个文件。&lt;/p&gt;&#xD;
&lt;p&gt;写完后，在测试过程收获还不小，如下：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('e32899d7-7a5c-4d88-b15c-8d23a065e680')"&gt;&lt;img id="code_img_opened_e32899d7-7a5c-4d88-b15c-8d23a065e680"  onclick="cnblogs_code_hide('e32899d7-7a5c-4d88-b15c-8d23a065e680',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_e32899d7-7a5c-4d88-b15c-8d23a065e680"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;1.文件下载用webclient受服务器配置文件的限制，只能下载200M以内的，能不能下载还要受策略文件的影响。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.webclient异步下载返回的e.resault&amp;nbsp;转化成stream可以，不能强行转化为filestream&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.把下载完成后的e.resault转化成stream后作保存操作时，结束的时候流不能关闭，和我们通常的操作不一样，所以这就是为什么我第一个文件能保存，后面不能保存的原因了。我猜测是这个流处于缓冲区里，关闭的话会清空缓冲区，导致后面下载的文件流也被清空。&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.开单独线程下载，和界面线程通讯的话要用线程间通讯的post,或者get方法&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.多文件下载要用循环，但是文件什么时候下载完是不确定的，又是异步的，所以要把下载线程阻止，在一个文件被下载完之前，当文件下载完毕后在解除阻止，进行循环的下一步。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;DownloadHelper类：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('9a81410f-444c-4e6a-9b40-97d1b67de5a8')"&gt;&lt;img style="display: none" id="code_img_opened_9a81410f-444c-4e6a-9b40-97d1b67de5a8"  onclick="cnblogs_code_hide('9a81410f-444c-4e6a-9b40-97d1b67de5a8',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_9a81410f-444c-4e6a-9b40-97d1b67de5a8" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;资源下载类，使用webclient,&amp;nbsp;by&amp;nbsp;williams&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownloadHelper:IDisposable&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;私有成员&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsolatedStorageUtil&amp;nbsp;isu;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;WebClient&amp;nbsp;client;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IGameCmd&amp;nbsp;downloadEvent;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SynchronizationContext&amp;nbsp;ui;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;isThreadSingle&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Threading.Thread&amp;nbsp;t;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ManualResetEvent&amp;nbsp;downloadDone&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ManualResetEvent(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;String[]&amp;nbsp;filePaths;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;isDownLoadIng&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownLoadTypeEnum&amp;nbsp;type&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownLoadTypeEnum.Map;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#endregion&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownloadHelper(IGameCmd&amp;nbsp;up)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isu&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IsolatedStorageUtil();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;WebClient();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.AllowReadStreamBuffering&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ui&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Threading.SynchronizationContext.Current;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;downloadEvent&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;up;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;批量异步下载多个文件，效果需要验证&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filepaths"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownloadMultiFile(String[]&amp;nbsp;filepaths,DownLoadTypeEnum&amp;nbsp;type)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;filePaths&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filepaths;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Thread(DownloadFilesByWhile);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.IsBackground&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.Start();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isThreadSingle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.type&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;type;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownloadFilesByWhile()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePaths)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(isu.FileExist(filePath))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;continue&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;client.IsBusy)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;downloadDone.Reset();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.DownloadProgressChanged&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownloadProgressChangedEventHandler(client_DownloadProgressChanged);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.OpenReadCompleted&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OpenReadCompletedEventHandler(client_OpenReadCompleted);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.OpenReadAsync(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Uri(filePath,&amp;nbsp;UriKind.Relative),&amp;nbsp;filePath);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;downloadDone.WaitOne();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;type&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;Convert.ToByte(GameCmdEnums.GetFileOk);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;flag&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Convert.ToByte(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.type);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;content&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Text.UTF8Encoding.UTF8.GetBytes(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;文件全部获取完毕&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ui.Post(downloadEvent.DownloadFilesComplete,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Message&amp;nbsp;{&amp;nbsp;Class&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;type,&amp;nbsp;Flag&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;flag,&amp;nbsp;Content&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;content,&amp;nbsp;Size&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;content.Length&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;下载指定文件&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filePath"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownloadFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filePath)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNullOrEmpty(filePath))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;client.IsBusy)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.DownloadProgressChanged&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DownloadProgressChangedEventHandler(client_DownloadProgressChanged);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.OpenReadCompleted&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OpenReadCompletedEventHandler(client_OpenReadCompleted);&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.OpenReadAsync(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Uri(filePath,&amp;nbsp;UriKind.Relative),&amp;nbsp;filePath);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;下载进度发生变化时&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;client_DownloadProgressChanged(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;DownloadProgressChangedEventArgs&amp;nbsp;e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;mess&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;下载:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;e.UserState.ToString()&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;中...&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;e.ProgressPercentage.ToString()&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;%&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(e.ProgressPercentage&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;100&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mess&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;下载:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;e.UserState.ToString()&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;完成&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ui.Post(downloadEvent.DownloadProgressChange,&amp;nbsp;mess);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;文件下载完成后，储存进独立存储区域&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;client_OpenReadCompleted(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;OpenReadCompletedEventArgs&amp;nbsp;e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Stream&amp;nbsp;fs&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;e.Result&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Stream;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(fs&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;long&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filezise&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fs.Length;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ui.Post(downloadEvent.DownloadComplete,&amp;nbsp;e);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(filezise&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;isu.availableFreeSpace)&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;独立存储区域的初始大小是1M&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveInIsolatedSpace(fs,&amp;nbsp;e.UserState.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ui.Post(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.downloadEvent.DownloadError,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;存储空间不够&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ui.Post(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.downloadEvent.DownloadError,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;文件读取失败&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;isThreadSingle)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;downloadDone.Set();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;把文件存入独立储存区里&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="fs"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="filename"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SaveInIsolatedSpace(Stream&amp;nbsp;fs,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;filename)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;isu.FileExist(filename))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Stream&amp;nbsp;newfs&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;isu.CreateFile(filename);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;事先把地图文件名存储在&amp;nbsp;e&amp;nbsp;里。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newfs.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isu.WriteToFile(filename,&amp;nbsp;fs);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;(IsolatedStorageException&amp;nbsp;ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ui.Post(downloadEvent.DownloadError,&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;文件保存失败&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ui.Post(downloadEvent.DownloadError,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;文件保存失败&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#region&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IDisposable&amp;nbsp;成员&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Dispose()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(t&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.Abort();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#endregion&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在游戏里的运行效果如图：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/loading.png" width="407" height="202" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000"&gt;不过让我不爽的是：微软为了安全的原因，增加独立存储区域的时候，非要用户点下确定按钮，这样给用户体验不太好，为什么不能向flash game那样，直接就下载下来呢？&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/requestSpace.png" width="401" height="192" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/needSpace.png" width="566" height="267" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000"&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;还有一个让我也不爽的是：从独立存储区域存放的zip文件里读取资源的时候，明显感觉速度慢，导致游戏人物播放帧动画的时候很卡，我只好在游戏开始前把资源预先加载到内存里。这个问题群里的nowpaper也说读取速度慢。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000"&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 基于以上两点，我觉得这让独立存储区域成了有点&amp;#8220;鸡肋&amp;#8221;般东西，如果微软能改进下，那么用silverlight开发大型MMorpg游戏还是不错的选择。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000"&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IsolatedStorage,想说爱你不容易！&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #000000"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/wangergo/aggbug/1744729.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2010/05/26/1744729.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2010/05/09/1730858.html</id><title type="text">Silverlight MMORPG WebGame游戏设计(六)-----Server和Client的婚后协议[附上完整15M游戏DEMO]</title><summary type="text">上回说到Server少爷和Client小姐好不容易踏入婚姻的殿堂，洞房花烛之夜，Client小姐却要Server少爷签下婚后协议。Server一脸不快：&amp;#8220;都一家人还签什么协议啊？&amp;#8221;Client道：&amp;#8220;你们男人啊，就是花心，不看紧点，不知道跑那野去了。为了以后我们能琴瑟相合，还是签了协议的好。&amp;#8221;Server呵呵一笑：&amp;#8220;好老婆，那就签吧，你开心...</summary><published>2010-05-08T17:14:00Z</published><updated>2010-05-08T17:14:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2010/05/09/1730858.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2010/05/09/1730858.html"/><content type="html">&lt;p&gt;&lt;font size="2"&gt;上回说到Server少爷和Client小姐好不容易踏入婚姻的殿堂，洞房花烛之夜，Client小姐却要Server少爷签下婚后协议。Server一脸不快：&amp;#8220;都一家人还签什么协议啊？&amp;#8221;Client道：&amp;#8220;你们男人啊，就是花心，不看紧点，不知道跑那野去了。为了以后我们能琴瑟相合，还是签了协议的好。&amp;#8221;Server呵呵一笑：&amp;#8220;好老婆，那就签吧，你开心的时候，我就陪你开心；你不开心的时候，我会哄你开心...&amp;#8221;一番话哄得Client心花怒放，看着Server写完&amp;#8220;奴隶宣言&amp;#8221;，拿到手里仔细查看，却见Server写到:&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;enum&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;WifeCmd&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 哄老婆开心，&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;上交工资，&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;陪老婆逛街，&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 带老婆去兜风&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ......&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;Client看到这里，笑颜如花，连enum都用上了，真是个好夫君，这美满的婚姻也真是来之不易。&lt;/font&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;-----------------------------------------------&lt;font size="2"&gt;分割线，以上Server和Client的爱情剧完美剧终&lt;/font&gt;---------------------------------&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;前五章，我们用讲故事的方式把Server端和Client的通讯机制讲解了下。此后我们要在此基础上开始我们的Web传奇的开发之路，让我们感谢Server和Client的精彩演出。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 每一个玩过传奇的人都记得那古朴的登录画面，当我们输入账号和密码，点击登录，随着铿锵的击鼓声，一扇石门徐徐而开，一个游戏的世界在向我们召唤，让我们赶快开启我们的传奇之旅吧！！&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 游戏的开始，我们需要注册账号。这账号数据放在那里呢？放客户端，显然不可能，用户数据太不安全了。只好放服务端了，再说用户账号数据可是很重要，那些网游公司为此争得头破血流。经典的案例那是网易从九城夺取&amp;#8220;魔兽世界&amp;#8221;的代理权，期间坎坎坷坷，勾心斗角，俨然一部商业大片。还是&amp;#8220;魔兽世界&amp;#8221;的开发公司暴雪大神有远见，所有的用户数据都是属于暴雪的，这500W用户账号是属于暴雪公司的，数据库里的这些数据早就在停服前被暴雪的技术人员备份走了。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 所以说我们做Web传奇也要有远见，这个账号信息呢，还是归我williams所有吧，我把它们都储存在Sql&amp;nbsp;Server2005数据库里呢。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;一张简单的账号表如下:&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;table style="border-bottom: medium none; border-left: medium none; width: 522pt; border-collapse: collapse; border-top: medium none; border-right: medium none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext"  border="1" cellspacing="0" cellpadding="0" width="696"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr style="height: 21pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 522pt; padding-right: 5.4pt; height: 21pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt" valign="top" width="696" colspan="4"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;font size="2"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;账号信息表&lt;/span&gt;&lt;/strong&gt;&lt;font face="Times New Roman"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt" lang="EN-US"&gt; Users&lt;/span&gt;&lt;/strong&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 22.5pt; mso-yfti-irow: 1"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 22.5pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;字段名称&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 22.5pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="text-indent: 15.75pt; margin: 0cm 0cm 0pt; mso-char-indent-count: 1.5" &gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;数据类型&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 22.5pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;含义&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 22.5pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;约束&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 23.25pt; mso-yfti-irow: 2"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 23.25pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 1pt 4pt; mso-layout-grid-align: none" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;UserID&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 23.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;int&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 23.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 23.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 22.5pt; mso-yfti-irow: 3"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 22.5pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 1pt 4pt; mso-layout-grid-align: none" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;UEmail&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 22.5pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;Nvarchar(32)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 22.5pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 22.5pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 17.25pt; mso-yfti-irow: 4"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 17.25pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 1pt 4pt; mso-layout-grid-align: none" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;Upwd&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;Nvarchar(16)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 17.25pt; mso-yfti-irow: 5"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 17.25pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 1pt 4pt; mso-layout-grid-align: none" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;UaddTime&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;DateTime&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 17.25pt; mso-yfti-irow: 6"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 17.25pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 1pt 4pt; mso-layout-grid-align: none" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;Ubalance&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;int&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;用户账号金额，用来消费&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 17.25pt; mso-yfti-irow: 7"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 17.25pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 1pt 4pt; mso-layout-grid-align: none" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;UloginTime&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;DateTime&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 17.25pt; mso-yfti-irow: 8"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 17.25pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 1pt 4pt; mso-layout-grid-align: none" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;UloginIP&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;Nvarchar(32)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr style="height: 17.25pt; mso-yfti-irow: 9; mso-yfti-lastrow: yes"&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 99pt; padding-right: 5.4pt; height: 17.25pt; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="132"&gt;&#xD;
&lt;p style="margin: 1pt 4pt; mso-layout-grid-align: none" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;Ustate&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 81pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="108"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="2"&gt;int&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 225pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="300"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt" &gt;&lt;font size="2"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;账号状态&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: windowtext 1pt solid; padding-bottom: 0cm; background-color: transparent; border-top-color: #f0f0f0; padding-left: 5.4pt; width: 117pt; padding-right: 5.4pt; height: 17.25pt; border-left-color: #f0f0f0; border-right: windowtext 1pt solid; padding-top: 0cm; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="156"&gt;&#xD;
&lt;p style="margin: 0cm 0cm 0pt 36pt" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 看到这里,你们会说这咋个和做网站的差不多呀？反正也不用忽悠大家，WebGame上的注册和网站注册有啥区别呢？本质上没什么区别，不就是把用户输入数据写到数据库里。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 用asp.net做过网站的都知道，做一个注册页面很简单，双击按钮写事件，调用BLL层的方法，执行insert语句就OK。但是在silverlight里，客户端不能直接和数据库打交道，怎么办呢?&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如果你看了前五章，你很容易想到客户端可以把用户数据放到byte[]数组里，封装到一个Message里发给服务端就可以了。服务端收到这个Message，判定后再调用BLL层的方法执行Insert语句也就可以了。和asp.net网站不同的是，在silverlight WebGame里数据是从Silverlight客户端发送到服务端，而在网站里数据是通过表单提交到Web服务端，asp.nett网站表单提交数据的过程作一个asp.net程序员可以不关心是怎么传递的，但是对于silverlight客户端来说，由于选用了原生态的Socket的通讯方式，我们得了解清楚些。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 看到这里，你可能豁然开朗，前五章讲的那肉麻的爱情故事就是为了方便的传递数据啊。哎，谁让我们这些asp.net程序员比较少接触到Socket通讯方式呢，我也是花了一周才看个明白点。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 罗嗦了这么多，让我们开始设计界面吧，我这个人很喜欢怀旧的，也没有美术功底，就把传奇里的界面搬来了，我在这里特此声明：本教程只供学习研究，所有素材来自网络，请勿跨省，勿发律师函。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 621px; height: 441px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/mirLogin.png" width="621" height="441" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;注册界面:&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 624px; height: 442px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/mirReg.png" width="624" height="442" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;我们先来完成注册界面的功能，玩一个游戏，如果不注册个账号，是没办法登陆进去的，玩过游戏的都知道。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('1b6cbd47-caf9-44ad-987a-5b9d8a0cf2e6')"&gt;&lt;img id="code_img_opened_1b6cbd47-caf9-44ad-987a-5b9d8a0cf2e6"  onclick="cnblogs_code_hide('1b6cbd47-caf9-44ad-987a-5b9d8a0cf2e6',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_1b6cbd47-caf9-44ad-987a-5b9d8a0cf2e6"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;btnReg_Click(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;RoutedEventArgs&amp;nbsp;e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Users&amp;nbsp;user&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Users&amp;nbsp;{&amp;nbsp;UserName&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.txtUserName.Text,&amp;nbsp;Upwd&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;GameCMDFormat.HashFormat(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.txtPwd.Password),&amp;nbsp;Uemail&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.txtUserName.Text,&amp;nbsp;Ustate&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessagePool.AddSendMessage(GameCMDFormat.CreateNewUser(user));&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;把发送的消息放到消息队列里&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;#9312;这里我们用一个User对象来保存了用户注册数据，这样才显得OO一些。&lt;/font&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;#9313;这里我们写了一个GameCMDFormat类来产生Message对象&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('1123f4a5-2aa6-41d5-9e5d-e64b70dcbbbc')"&gt;&lt;img id="code_img_opened_1123f4a5-2aa6-41d5-9e5d-e64b70dcbbbc"  onclick="cnblogs_code_hide('1123f4a5-2aa6-41d5-9e5d-e64b70dcbbbc',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_1123f4a5-2aa6-41d5-9e5d-e64b70dcbbbc"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;新建账号命令&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="user"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SocketClient.Message&amp;nbsp;CreateNewUser(Users&amp;nbsp;user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SocketClient.Message(Convert.ToByte(GameCmdEnums.CreateNewUser),&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;System.Text.UTF8Encoding.UTF8.GetBytes(SerializeUtil.Encoder&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Users&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(user)));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 让我重点来介绍下这个GameCMDFormat类，以后我们的命令基本上都是这个类帮我们产生的。&lt;/font&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在构造返回的Message对象时，第一个参数是class参数，我们用来存放命令的类型，这里我们用到的就是enum,这就是我们的server少爷和client小姐签婚后协议用到的。女人都喜欢男人专一点，enum值是唯一的，刚好满足女人的要求。当然这协议嘛，男方女方手里都有一份才算有效。所以server端有这样的enum,client端也会有这样的enum&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('5cdddd37-dca5-4328-9aec-a732a0d52154')"&gt;&lt;img id="code_img_opened_5cdddd37-dca5-4328-9aec-a732a0d52154"  onclick="cnblogs_code_hide('5cdddd37-dca5-4328-9aec-a732a0d52154',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_5cdddd37-dca5-4328-9aec-a732a0d52154"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;客户端的请求,或服务器发给客户端的命令&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;enum&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;GameCmdEnums&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;注册新账号&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateNewUser,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;服务器执行结果&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;enum&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;GameCmdResult&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateUserTrue,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateUserFalse,&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;这协议一式两份，童叟无欺，大家都看得明白，无可非议，客户端端告诉服务端: CreateNewUser,服务端拿来相同的enum一比对，哦，原来是要我去建一个新账号，那好我就把新用户数据写入到数据库。写完了，服务端发送一个Message给客户端，这个Message带的命令是CreateUserTrue，客户端拿来enum一看，哦，账号建立成功了。&lt;/font&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#9314;这里我们用了SerializeUtil.Encoder&amp;lt;Users&amp;gt;(user)方法，这里用的是json序列化，为什么要用json序列化呢？你想啊，一个User对象，我怎么好放到byte[]数组里，这个比较难，不太好描述。如果你想想我们在.net里的序列化，我们可以把一个对象变成xml数据或者二进制流。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;但是很多平常在.net framework里使用的序列化和反序列化帮助类（如System.Runtime.Serialization命名空间下的许多类和方法）在SilverLight下都不可使用了。谁让silverlight是个精简框架呢。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 查下资料发现&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;font size="2" face="Arial"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Silverlight可以用序列化，但是不能直接使用，必须通过服务来调用，比如WCF和Web Service。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;Silverlight 内置支持WCF的 &lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractserializer(VS.95).aspx" target="_blank"&gt;&lt;font color="#0033cc"&gt;DataContractSerializer&lt;/font&gt;&lt;/a&gt; 和 &lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer(VS.95).aspx" target="_blank"&gt;&lt;font color="#800080"&gt;DataContractJsonSerializer&lt;/font&gt;&lt;/a&gt;&amp;nbsp;两种序列化方式，也可以用System.Xml.Serialization 里的&amp;nbsp; &lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer(VS.95).aspx" target="_blank"&gt;&lt;font color="#0033cc"&gt;XmlSerializer&lt;/font&gt;&lt;/a&gt; 。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;一般的过程是，通过服务提供序列化的对象，然后Silverlight调用服务获得这些对象。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;请参考：&lt;a title="http://msdn.microsoft.com/en-us/library/cc197951(VS.95).aspx" href="http://msdn.microsoft.com/en-us/library/cc197951(VS.95).aspx" target="_blank"&gt;&lt;font color="#0033cc"&gt;Silverlight中的序列化&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;不过我们这里用的是socket,以上的方式不适合了，还有XML序列化的结果比json的数据量要大不少，为了减少通讯量，在描述同样数据的情况下我选择了json序列化，我在网上我找到了一个.net下的 json序列化组件:&lt;/p&gt;&#xD;
&lt;p align="left"&gt;Json.NET.&lt;/p&gt;&#xD;
&lt;p align="left"&gt;使用了里面的两个方法:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('bba0ee47-867e-4a16-8f7b-4a885e8ab8f7')"&gt;&lt;img id="code_img_opened_bba0ee47-867e-4a16-8f7b-4a885e8ab8f7"  onclick="cnblogs_code_hide('bba0ee47-867e-4a16-8f7b-4a885e8ab8f7',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_bba0ee47-867e-4a16-8f7b-4a885e8ab8f7"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;对象序列化和反序列化,Json序列化&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SerializeUtil&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;序列化&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;typeparam&amp;nbsp;name="T"&amp;gt;&amp;lt;/typeparam&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="data"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Encoder&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;T&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(T&amp;nbsp;data)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;JsonConvert.SerializeObject(data);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;反序列化&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;typeparam&amp;nbsp;name="T"&amp;gt;&amp;lt;/typeparam&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="data"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;T&amp;nbsp;Decoder&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;T&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;data)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;JsonConvert.DeserializeObject&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;T&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(data);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这样我们很方便把一个对象放变成string，再把string用 System.Text.UTF8Encoding.UTF8.GetBytes()方法变成byte[]存放到一个Message对象就可以了。 &lt;/p&gt;&#xD;
&lt;p align="left"&gt;&amp;#9315;我们用到了自己写的消息队列类MessagePool类里的AddSendMessage方法。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;至于为什么要用队列来储存发送的消息，这是由于MMorpg客户端和服务端交换数据很频繁，大量的数据如果拥塞在一起发送就不太好，你说我们中国人就是多，春节买火车票如果我们不排队，都挤到售票窗口去抢，那不乱了套么？&lt;/p&gt;&#xD;
&lt;p align="left"&gt;在MessagePool类里，我用了多线程发送，这里就涉及到了队列queue&amp;lt;T&amp;gt;的线程不安全问题，如何保证线程安全，就要用到了lock锁定,至于是否会影响效率，JeffreyZhao在一篇文章里说，也许lock的影响微乎其微，我没有做实验来判定，有兴趣的同学检验下。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;可能对于一些.net初学者来说在多个线程中保证queue&amp;lt;T&amp;gt;的线程安全不太好理解，那就多查查资料吧，我也是查资料，花了些时间写好的。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;当然，客户端发送数据的同时，也是要接受数据的，所以MessagePool类里有发送队列也有接受队列。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;对于MessagePool类我这里就不多讲了，留着专门一节再讲消息队列。我们本节的重点是要完成注册的过程。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;以上四点只是为了说明我们要把一个Message对象组装起来放到消息队列里中间的过程也不简单，涉及到队列，序列化，线程安全，做游戏不容易，反正我觉得比做网站要难一些。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;好了，我们折腾了这么久，那么服务端接收到这个客户端发送的这个消息后会这么做呢?&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('54d39416-e5a1-4591-bb03-3521f91253d1')"&gt;&lt;img style="display: none" id="code_img_opened_54d39416-e5a1-4591-bb03-3521f91253d1"  onclick="cnblogs_code_hide('54d39416-e5a1-4591-bb03-3521f91253d1',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_54d39416-e5a1-4591-bb03-3521f91253d1" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;执行客户端发送来的请求&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="cmdstr"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Message&amp;nbsp;ExcuteCmd(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;type,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;flag,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cmdstr,System.Net.Sockets.Socket&amp;nbsp;clientSocket)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GameServerCmd&amp;nbsp;cmd&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;GameServerCmd();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GameCmdEnums&amp;nbsp;t&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(GameCmdEnums)Enum.Parse(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(GameCmdEnums),&amp;nbsp;type.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;content&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;UTF8Encoding.UTF8.GetBytes(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;.&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;switch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(t)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;case&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;GameCmdEnums.CreateNewUser:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;userID&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(cmd.CreateNewUser(cmdstr))&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;执行注册命令&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Message((&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;)GameCmdResult.CreateUserTrue,&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;)userID,&amp;nbsp;content,&amp;nbsp;clientSocket);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Message((&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;)GameCmdResult.CreateUserFalse,&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;)userID,&amp;nbsp;content,&amp;nbsp;clientSocket);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;GameServerCmd 这是个命令执行类，它调用了BLL层里的方法。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('18090cf5-c014-45eb-b555-7619829185a5')"&gt;&lt;img style="display: none" id="code_img_opened_18090cf5-c014-45eb-b555-7619829185a5"  onclick="cnblogs_code_hide('18090cf5-c014-45eb-b555-7619829185a5',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_18090cf5-c014-45eb-b555-7619829185a5" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;注册新账号&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="cmdstr"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;internal&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CreateNewUser(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;cmdstr)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Users&amp;nbsp;user&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SerializeUtil.Decoder&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Users&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(cmdstr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(UsersCtrlBase.Instance().CreateNewUser(user))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;写入账号信息到数据库后，然后发送一个注册成功的Message对象，我们也把它装到服务端的消息队列里等待发送给客户端，在服务端同理我们也有接收队列和发送队列，服务端接收和发送的队列是客户端的N倍，你可以近似估计N为客户端的个数，如果一个服1000人，那么就至少是1000倍于客户端。不开多线程，服务端估计是不能快速处理完这些数据。写到这里我想到，现在服务端早就是多核了，是不是要在服务端要到多核编程呢？把服务端多核优势发挥出来。这就留给大家去实现吧，我也是要花些时间研究下多核编程的。 &lt;/p&gt;&#xD;
&lt;p align="left"&gt;不小心写了这么多，我喜欢写游戏，去年我下班后吃完饭就写Web传奇，中间遇到不少的困难，一路摸索，是梦想支撑着我，前方困难重重，我们只有披荆斩棘，努力前行。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;我说过这篇文章里，我要把Demo提供给大家，由于持续花了近3个月的业余时间，写的代码有点多，从创建人物到下载数据，保存数据，合成地图，人物，怪物，再到即时的PK，中途还写WPF的地图编辑器，一下子把这些东西都发出来，估计看得也是头痛。我就一步步把这些代码精简出来吧。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;下载文件列表:&lt;/p&gt;&#xD;
&lt;p align="left"&gt;1.&lt;a href="http://files.cnblogs.com/wangergo/数据库设计文档.rar" target="_blank"&gt;数据库设计文档&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.&lt;a href="http://files.cnblogs.com/wangergo/Json35r5.zip" target="_blank"&gt;json.net组件&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;3.&lt;a href="http://blzmoviecom.web112.discountasp.net/MyMirWebGameVS2010DEMO1.rar" target="_blank"&gt;MyMirWebGameDemo1&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p align="left"&gt;4.&lt;a href="http://files.cnblogs.com/wangergo/database.rar" target="_blank"&gt;MyMirWebGameDB&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;img src="http://www.cnblogs.com/Emoticons/msn/star.gif"  alt="" /&gt;5.&lt;a href="http://files.cnblogs.com/wangergo/Mask.zip" target="_blank"&gt;怪物数据包&lt;/a&gt;&amp;nbsp;&amp;nbsp; （重要：请放在MyMirWebGame.Web项目的clientbin里的Data文件夹下）&lt;/p&gt;&#xD;
&lt;p align="left"&gt;有兄弟反应MyMirWebGameDemo1无法下载，我做了分包文件。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;a href="http://files.cnblogs.com/wangergo/MyMirWebGameVS2010D.part1.rar" target="_blank"&gt;MyMirWebGameVS2010D.part1&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;a href="http://files.cnblogs.com/wangergo/MyMirWebGameVS2010D.part2.rar" target="_blank"&gt;MyMirWebGameVS2010D.part2&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;a href="http://files.cnblogs.com/wangergo/MyMirWebGameVS2010D.part3.rar" target="_blank"&gt;MyMirWebGameVS2010D.part3&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;a href="http://files.cnblogs.com/wangergo/MyMirWebGameVS2010D.part4.rar" target="_blank"&gt;&amp;nbsp;MyMirWebGameVS2010D.part4&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;Demo框架机构图：&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/mirSlayer.png" width="600" height="256" /&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;Demo运行提示:&lt;/p&gt;&#xD;
&lt;p align="left"&gt;1.附加MyMirGameDB数据库&lt;/p&gt;&#xD;
&lt;p align="left"&gt;2.修改MyMirGameServer里的app.config里的connectstring数据库连接字符串&lt;/p&gt;&#xD;
&lt;p align="left"&gt;3.启动MyMirGameServer项目里bin/debug里的MyMirGameServer.exe程序&lt;/p&gt;&#xD;
&lt;p align="left"&gt;4.在IIS里hostMyMirWebGame.web站点。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;5.账号 w,密码1;账号xiangwei,密码:1,当然也可以注册账号&lt;/p&gt;&#xD;
&lt;p align="left"&gt;6.游戏只实现了男战士职业，只完成了物理PK过程&lt;/p&gt;&#xD;
&lt;p align="left"&gt;7.只做了人物之间的PK互动，人与怪物间的PK互动还没写完。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;Demo的客户端已经升级到SL4，建议使用vs2010,并下载&amp;nbsp;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=177428" target="_blank"&gt;&lt;font color="#8b5ed0"&gt;Silverlight 4 Tools RC2 for Visual Studio 2010&lt;/font&gt;&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p align="left"&gt;Demo测试环境：win7+ms sqlserver2005+silverlight4;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;局域网测试通过，感谢以前在武汉创美的同事们。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;互联网测试通过，感谢"深蓝WPF/Silverlight(群号:73068105)"群里的兄弟们。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;申明：Web传奇客户端代码是在&lt;a href="http://www.cnblogs.com/alamiye010/" target="_blank"&gt;&amp;#8220;深蓝色右手&amp;#8221;&lt;/a&gt;silverlight 游戏引擎基础上开发做了30%左右的变动，特此申明。&lt;/p&gt;&#xD;
&lt;p align="left"&gt;备注：代码文件已经上传，附上PK画面:&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;img style="width: 638px; height: 453px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/PK.png" width="638" height="453" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wangergo/aggbug/1730858.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2010/05/09/1730858.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wangergo/archive/2010/05/03/1726339.html</id><title type="text">Silverlight MMORPG WebGame游戏设计(五)-----Client的嫁妆</title><summary type="text">新郎Server的房子装修好了，就看这边Client 的嫁妆准备如何了。Client小姐出身Silverlight名门，天生高傲较贵，只让给她服务的仆人使用TCP协议，UDP都不能考虑。  至于Client家的仆人做事，那是大家风范，全部使用"异步"方式。你看看他们的名字：一个是ConnectAsync,一个是SendAsync,还有一个是ReceiveAsync。另外还有两个打杂，负责关门看院的...</summary><published>2010-05-03T05:25:00Z</published><updated>2010-05-03T05:25:00Z</updated><author><name>王传炜</name><uri>http://www.cnblogs.com/wangergo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wangergo/archive/2010/05/03/1726339.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wangergo/archive/2010/05/03/1726339.html"/><content type="html">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font size="2"&gt;新郎Server的房子装修好了，就看这边Client 的嫁妆准备如何了。Client小姐出身Silverlight名门，天生高傲较贵，只让给她服务的仆人使用TCP协议，UDP都不能考虑。&lt;/font&gt; &#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;至于Client家的仆人做事，那是大家风范，全部使用"异步"方式。你看看他们的名字：一个是&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;ConnectAsync,一个是SendAsync,还有一个是ReceiveAsync。另外还有两个打杂，负责关门看院的小厮：&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;Shutdown和&lt;span target="M:System.Net.Sockets.Socket.Close" sdata="cer"&gt;&lt;span &gt;Close&lt;/span&gt;&lt;/span&gt; 。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 你看看Client小姐所在的城堡，真是气派:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="width: 268px; height: 202px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/0019b91ebfe208f5645255.jpg" width="268" height="202" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 整日闷坐在城堡里的Client小姐听说Server少爷那边房子准备好了，就安奈不住芳心，想催问婚礼什么时候举行。&lt;/font&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 她忙叫来&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;ConnectAsync，他主要负责和Server联络,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;ConnectAsync让MessageStream马夫牵来&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;socket宝马，坐上刻着&lt;/font&gt;&lt;span target="T:System.Net.Sockets.SocketAsyncEventArgs" sdata="cer"&gt;&lt;span &gt;&lt;font size="2"&gt;SocketAsyncEventArgs字样的族徽的豪华马车，向Server家奔去。&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('ae0b1019-e202-45e9-b76b-c5915d3e9465')"&gt;&lt;img style="display: none" id="code_img_opened_ae0b1019-e202-45e9-b76b-c5915d3e9465"  onclick="cnblogs_code_hide('ae0b1019-e202-45e9-b76b-c5915d3e9465',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_ae0b1019-e202-45e9-b76b-c5915d3e9465" &gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;socket&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Socket(AddressFamily.InterNetwork,&amp;nbsp;SocketType.Stream,&amp;nbsp;ProtocolType.Tcp);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;使用Tcp套接字&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;MessageStream();&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;使用MessageStream消息辅助类&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SocketAsyncEventArgs&amp;nbsp;args&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SocketAsyncEventArgs();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;args.RemoteEndPoint&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DnsEndPoint(SvIP,&amp;nbsp;Sport);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;设定和Server的通讯地址和端口&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;args.Completed&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;SocketAsyncEventArgs&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(OnSocketConnectCompleted);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;连接完成后做出OnSocketConnectCompleted报告。&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;socket.ConnectAsync(args);&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;开始异步连接&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img style="width: 204px; height: 274px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/OOOPIC_leijunming_20091101f0f5f7df06ee363b.jpg" width="204" height="274" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;等ConnectAsync从风尘仆仆得从Server家联络回来后，就向马不停蹄得向Client报告：&amp;#8220;小姐，我已经禀报了Server少爷那边,就等那边回消息了。&amp;#8221;Client一听，展颜一笑：&amp;#8220;是么，快让ReceiveAsync准备笔墨，等公子那边的回复。&amp;#8221;&lt;/font&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="T:System.Net.Sockets.SocketAsyncEventArgs" sdata="cer"&gt;&lt;span &gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReceiveAsync一听，赶忙准备1024字节的纸张：&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;response&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[&lt;/span&gt;&lt;span style="color: #800080"&gt;1024&lt;/span&gt;&lt;span style="color: #000000"&gt;];&lt;br /&gt;&amp;nbsp;e.SetBuffer(response,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;response.Length);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;那厢ConnectAsync完成跑腿的任务，一边歇息去了：&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;e.Completed&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;SocketAsyncEventArgs&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(OnSocketConnectCompleted);&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;e.Completed -= new EventHandler&amp;lt;SocketAsyncEventArgs&amp;gt;(OnSocketConnectCompleted);&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;e.Completed&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;SocketAsyncEventArgs&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(OnSocketConnectCompleted);&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 就在Client翘首等待之际，少爷那边的仆人催快马已到，高声通报：&amp;#8220;少爷那边来消息了。&amp;#8221;，Client一听,忙让MessageStream读取私人密信。上次我们说过，Server少爷和Client小姐比较注意隐私，不用String类型的明文信件，用的是byte字节，这解读密信的差事就交给MessageStream去做了：&lt;/font&gt;&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.stream.Write(e.Buffer,&amp;nbsp;e.Offset,&amp;nbsp;e.BytesTransferred);&lt;br /&gt;&amp;nbsp;Message&amp;nbsp;message;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(stream.Read(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;out&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;message))&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;记下message内容&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageStream不费吹灰之力读完密信，放到Message盒子里双手呈给了Client小姐。&lt;/font&gt; &#xD;
&lt;p&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="T:System.Net.Sockets.SocketAsyncEventArgs" sdata="cer"&gt;&lt;span &gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Client小姐接过Message盒子，看完信件：&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="T:System.Net.Sockets.SocketAsyncEventArgs" sdata="cer"&gt;&lt;span &gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;8月11日,此乃良辰吉日，愿于卿结秦晋之好&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" sdata="cer"&gt;&lt;span &gt;&lt;span target="M:System.Net.Sockets.Socket.ConnectAsync(System.Net.Sockets.SocketAsyncEventArgs)" sdata="cer"&gt;&lt;span &gt;&lt;span target="T:System.Net.Sockets.SocketAsyncEventArgs" sdata="cer"&gt;&lt;span &gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font size="2"&gt;your lover:Server&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Client心中石头终于落地，忙叫来SendAsync仆人：&amp;#8220;快回Server少爷，万事具备，只盼佳期&amp;#8221;。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;img style="width: 191px; height: 193px" border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/wangergo/200149945-005.jpg" width="191" height="193" /&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SendAsync也开心领命：&amp;#8220;小姐，我这就去办!&amp;#8221;,他也让MessageStream领来Socket宝马，套上刻着&lt;span target="T:System.Net.Sockets.SocketAsyncEventArgs" sdata="cer"&gt;&lt;span &gt;SocketAsyncEventArgs字样族徽的豪华马车，立马启程，当然身上还是带着 Message盒子,Client小姐回复的信件放在里面。&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&lt;span target="T:System.Net.Sockets.SocketAsyncEventArgs" sdata="cer"&gt;&lt;span &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('777262a4-b189-4ccc-b845-77841b8d4443')"&gt;&lt;img id="code_img_opened_777262a4-b189-4ccc-b845-77841b8d4443"  onclick="cnblogs_code_hide('777262a4-b189-4ccc-b845-77841b8d4443',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &#xD;
&lt;div id="cnblogs_code_open_777262a4-b189-4ccc-b845-77841b8d4443"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SocketAsyncEventArgs&amp;nbsp;myMsg&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SocketAsyncEventArgs();&lt;br /&gt;&amp;nbsp;myMsg.RemoteEndPoint&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;socket.RemoteEndPoint;&lt;br /&gt;&amp;nbsp;Message&amp;nbsp;message&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;msg;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;buffer&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;message.ToBytes();&lt;br /&gt;&amp;nbsp;myMsg.SetBuffer(buffer,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;buffer.Length);&lt;br /&gt;&amp;nbsp;socket.SendAsync(myMsg);&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 至此繁琐的婚前准备终于完成，婚礼只待良辰吉日，Server少爷和Client小姐的未来婚后生活是否完美呢？&lt;/font&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 请看下一篇文章：&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Silverlight MMORPG WebGame游戏设计(六)-----Server和Client的婚后协议&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wangergo/aggbug/1726339.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wangergo/archive/2010/05/03/1726339.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
