<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/podcast2.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/alamiye" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/alamiye" type="application/rss+xml"></fs:self_link><lastBuildDate>Thu, 19 Jan 2012 10:49:00 GMT</lastBuildDate><title>博客园-深蓝色右手</title><description>强大的WPF/Silverlight技术原创网站</description><image><url>http://www.feedsky.com/feed/alamiye/sc/gif</url><title>博客园-深蓝色右手</title><link>http://www.cnblogs.com/alamiye010/</link></image><link atom:type="text/html">http://www.cnblogs.com/alamiye010/</link><id xmlns="http://www.w3.org/2005/Atom">http://feed.cnblogs.com/blog/u/57553/rss</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><generator xmlns="http://www.w3.org/2005/Atom">CNBlogs BlogServer</generator><link xmlns="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/57553/rss"></link><pubDate>Thu, 19 Jan 2012 10:51:52 GMT</pubDate><managingEditor>深蓝色右手</managingEditor><item><title>Silverlight游戏研发手记：(五)SLG动感增效之《幻影粒子》</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2012/01/19/2327574.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;随着电子技术发展与普及，人们使用电脑时间越来越长，由于人类自身身体比如眩晕症、眼球衰老等客观因素存在，未来玩家会更加倾向于低视疲劳度&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;低神经刺激的绿色健康休闲&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏而非&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;3D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;a href=&quot;http://game.163.com/12/0109/10/7NAOC2VK00314K9A.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;《希魔复活》&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D/3D&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;双版本&lt;span lang=&quot;EN-US&quot;&gt;发售后&lt;span lang=&quot;EN-US&quot;&gt;截然不同的&lt;span lang=&quot;EN-US&quot;&gt;反响&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;再一次向印证&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;了&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;游戏&lt;span lang=&quot;EN-US&quot;&gt;是&lt;span lang=&quot;EN-US&quot;&gt;永远不会被&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;3D&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;取代&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;，甚至超越&lt;span lang=&quot;EN-US&quot;&gt;！&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;当然，超越的关键便在于游戏的动态细节处理与把握，这是一种历史必然的进化而非简单回归。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如果说过去，因为计算机的性能瓶颈开发不出高画质、华丽的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;SLG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏；但今天，足够的条件让这一切成为现实：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight + &lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;《幻影粒子》，我们正全力打造下一代动感十足之&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;SLG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;还在为游戏中华丽的魔法特技而流口水吗？&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;497&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/0.jpg&quot; width=&quot;638&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;其实这一切效果包括阳光、雨滴、瀑布、火焰、爆炸、烟雾、涟漪、魔法等等，我们都可以通过一款名为《幻影粒子》的工具轻松制作：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;800&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/1.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;《&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;a href=&quot;http://wenku.baidu.com/view/d42846d233d4b14e852468a5.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;幻影粒子&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;》是一款专业级的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;动画特效制作软件&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;自带有庞大的粒子特效库，官方定期更新，且网上也可以找到很多第三方发布的特效库&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，绝对是&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏锦上添花之利器，其做出来的粒子效果毫不逊色于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;3D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。不夸张的说，甚至完全可以制作仿真级电影级特效。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;没错，是它让我深刻感受到，动画已不再是美术的专利，《幻影粒子》让万能的游戏程序员神奇崛起！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;当然，本人也仅仅是一名初学者，有兴趣深入学习的朋友可以在网上搜罗大量相关教程；对于大多数游戏开发者来说，以修改现成的案例作为入门，可以更好的了解该软件的整体使用流程和大致细节处理，掌握在如此庞大而现成的粒子效果库上进行修改和二次创作是性价比最高的使用方案。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;那么就暂且班门弄斧一回，分享一下我为本系列教程&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;SLG Demo&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;添加几味特效的制作过程。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;img height=&quot;358&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/2.jpg&quot; width=&quot;595&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;以上为一幅传统的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;RPG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;地图，对于老游戏来说，或许这样的效果已经很精致了；但是现在的多核电子设备迅猛如此迅猛，以至于为了不让性能白白浪费，我们完全可以在画面方面更进一步，让效果最大化。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如何让静止的烟囱冒出滚滚浓烟？如何让古老的宝箱闪闪发光？如何让失落的水井格外突出？&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;传说，森林中的每一口水井深处都隐藏着神秘宝藏，当它的主人出现时便会放射出耀眼的绿色光芒。那好吧，我们就先为这口水井添加一道绿光吧！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;循着光的轨迹，我们打开《幻影粒子》：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;630&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/3.jpg&quot; width=&quot;530&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;在库面板上右键&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;-&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;快速载入粒子库，我们可以看到已经集成了十多款非常经典的的粒子特效库。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;其中的&amp;#8220;火花粒子&amp;#8221;库中便有一款很有神秘感名为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Star Trail 3&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的粒子特效：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;234&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/4.jpg&quot; width=&quot;237&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;播放后发现尺寸大了些且颜色也不对，必须得修改。于是我们双击打开它的&amp;#8220;发射器属性&amp;#8221;并对其局部细节及&amp;#8220;缩放&amp;#8221;和&amp;#8220;粒子颜色&amp;#8221;属性进行调整：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;1110&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/5.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;334&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/6.jpg&quot; width=&quot;573&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;278&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/7.jpg&quot; width=&quot;362&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对比地图中水井的大致尺寸对整个项目进行缩放：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;348&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/8.jpg&quot; width=&quot;372&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;203&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/9.jpg&quot; width=&quot;527&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;接下来在项目窗口正中间点击一下，便可将该特效放置于项目中：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;179&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/10.jpg&quot; width=&quot;231&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;点击绿色播放按钮，嘿嘿&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;~&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;闪耀的绿光出现啦&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;~&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;72&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/11.jpg&quot; width=&quot;293&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;214&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/12.jpg&quot; width=&quot;276&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;剩下的问题是，在&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的游戏中如何使用它？当然，首先得将这个动画进行输出：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;347&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/13.jpg&quot; width=&quot;428&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;211&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/14.jpg&quot; width=&quot;593&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;《幻影粒子》提供的输出格式还挺多的，经过本人一一测试，最终的结论是：只有&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;AVI(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;无损&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;和&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;PNG(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;有损&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;比较靠谱，分别对应电影特效和游戏特效应用领域。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;来说，毫无疑问，当然选择&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;PNG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。当然，特别需要注意的是尽量规避黑色的元素部件；因为《幻影粒子》导出的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;PNG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;并非无损，尤其是粒子效果中若掺杂有黑色像素，导出的图片相当糟糕：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;302&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/15.jpg&quot; width=&quot;551&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;OK&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，按照以上参数点击确定后，我们便可得到连续的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;120&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;帧粒子动画&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;PNG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;序列图片。实际上绝大多数&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏基本都用不上如此高的帧频，所以我们可以根据游戏的实际品质需求，截取中间部分，并间隔提取必要帧图，比如每间隔&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;4&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;提取一张便足以构建一个连贯循环的绿光动画，再以连续有规律的数字对它们进行命名：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;1136&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/16.jpg&quot; width=&quot;484&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;最后，将这些图帧添加到游戏中并通过一个名为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Animation&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的控件呈现出来。以同样的方法，我们在《幻影粒子》中也能找到现成类似的冒烟及闪光动画，将它们稍作修改后便可加入到游戏中烟囱和宝箱上面&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;~&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;哈，瞬间整个游戏生动了许多！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;325&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/17.jpg&quot; width=&quot;547&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;这是一款基于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;SLG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏引擎的一部分，在线演示&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Demo&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如下&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(&lt;/font&gt;&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo5.rar&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载该&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Demo&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;：&lt;/span&gt;
&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;360&quot; width=&quot;600&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAANSUAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwA1AC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
&lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo5.xap&quot;     /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot;     /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot;     /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot;     /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot;     /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot;     /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
&lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot;       /&gt;
&lt;/a&gt;     &lt;/object&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;手记思考：其实，最让人兴奋的莫过于通过《幻影粒子》制作出来的动画特效所有权完全属于制作者，制作者们再也不用担心版权问题&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如此大量的变化参数，改动后的样式外观都会发生千变万化&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，在它的辅助下进行&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏开发真乃如鱼得水&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;~&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;高性能开发效率搭配高品质，这难道不是我们所有游戏开发者最梦寐的追求吗！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/nowpaper/archive/2011/12/18/2291706.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;中游在线&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;的&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silvery.codeplex.com/&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;《WOWO&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;世界开源》&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;，所有游戏厂商都开始在移动平台布局；随着&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;多核手机将成为趋势，手机游戏中多量炫彩动画将不再成为性能问题。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;a href=&quot;http://www.mscbsc.com/viewnews-62481.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;近期诺基亚宣布亚太总部将由新加坡迁至北京&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，这对于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Windows Phone&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;应用开发来说锦上添花！加油吧，开发者们！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2327574.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2012/01/19/2327574.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>如果说过去，因为计算机的性能瓶颈开发不出高画质、华丽的SLG游戏；但今天，足够的条件让这一切成为现实：Silverlight + 《幻影粒子》，我们正全力打造下一代动感十足之SLG。</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;随着电子技术发展与普及，人们使用电脑时间越来越长，由于人类自身身体比如眩晕症、眼球衰老等客观因素存在，未来玩家会更加倾向于低视疲劳度&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;低神经刺激的绿色健康休闲&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏而非&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;3D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;a href=&quot;http://game.163.com/12/0109/10/7NAOC2VK00314K9A.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;《希魔复活》&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D/3D&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;双版本&lt;span lang=&quot;EN-US&quot;&gt;发售后&lt;span lang=&quot;EN-US&quot;&gt;截然不同的&lt;span lang=&quot;EN-US&quot;&gt;反响&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;再一次向印证&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;了&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;游戏&lt;span lang=&quot;EN-US&quot;&gt;是&lt;span lang=&quot;EN-US&quot;&gt;永远不会被&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;3D&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;取代&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;，甚至超越&lt;span lang=&quot;EN-US&quot;&gt;！&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;当然，超越的关键便在于游戏的动态细节处理与把握，这是一种历史必然的进化而非简单回归。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如果说过去，因为计算机的性能瓶颈开发不出高画质、华丽的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;SLG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏；但今天，足够的条件让这一切成为现实：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight + &lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;《幻影粒子》，我们正全力打造下一代动感十足之&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;SLG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;还在为游戏中华丽的魔法特技而流口水吗？&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;497&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/0.jpg&quot; width=&quot;638&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;其实这一切效果包括阳光、雨滴、瀑布、火焰、爆炸、烟雾、涟漪、魔法等等，我们都可以通过一款名为《幻影粒子》的工具轻松制作：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;800&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/1.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;《&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;a href=&quot;http://wenku.baidu.com/view/d42846d233d4b14e852468a5.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;幻影粒子&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;》是一款专业级的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;动画特效制作软件&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;自带有庞大的粒子特效库，官方定期更新，且网上也可以找到很多第三方发布的特效库&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，绝对是&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏锦上添花之利器，其做出来的粒子效果毫不逊色于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;3D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。不夸张的说，甚至完全可以制作仿真级电影级特效。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;没错，是它让我深刻感受到，动画已不再是美术的专利，《幻影粒子》让万能的游戏程序员神奇崛起！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;当然，本人也仅仅是一名初学者，有兴趣深入学习的朋友可以在网上搜罗大量相关教程；对于大多数游戏开发者来说，以修改现成的案例作为入门，可以更好的了解该软件的整体使用流程和大致细节处理，掌握在如此庞大而现成的粒子效果库上进行修改和二次创作是性价比最高的使用方案。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;那么就暂且班门弄斧一回，分享一下我为本系列教程&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;SLG Demo&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;添加几味特效的制作过程。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;img height=&quot;358&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/2.jpg&quot; width=&quot;595&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;以上为一幅传统的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;RPG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;地图，对于老游戏来说，或许这样的效果已经很精致了；但是现在的多核电子设备迅猛如此迅猛，以至于为了不让性能白白浪费，我们完全可以在画面方面更进一步，让效果最大化。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如何让静止的烟囱冒出滚滚浓烟？如何让古老的宝箱闪闪发光？如何让失落的水井格外突出？&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;传说，森林中的每一口水井深处都隐藏着神秘宝藏，当它的主人出现时便会放射出耀眼的绿色光芒。那好吧，我们就先为这口水井添加一道绿光吧！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;循着光的轨迹，我们打开《幻影粒子》：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;630&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/3.jpg&quot; width=&quot;530&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;在库面板上右键&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;-&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;快速载入粒子库，我们可以看到已经集成了十多款非常经典的的粒子特效库。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;其中的&amp;#8220;火花粒子&amp;#8221;库中便有一款很有神秘感名为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Star Trail 3&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的粒子特效：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;234&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/4.jpg&quot; width=&quot;237&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;播放后发现尺寸大了些且颜色也不对，必须得修改。于是我们双击打开它的&amp;#8220;发射器属性&amp;#8221;并对其局部细节及&amp;#8220;缩放&amp;#8221;和&amp;#8220;粒子颜色&amp;#8221;属性进行调整：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;1110&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/5.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;334&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/6.jpg&quot; width=&quot;573&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;278&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/7.jpg&quot; width=&quot;362&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对比地图中水井的大致尺寸对整个项目进行缩放：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;348&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/8.jpg&quot; width=&quot;372&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;203&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/9.jpg&quot; width=&quot;527&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;接下来在项目窗口正中间点击一下，便可将该特效放置于项目中：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;179&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/10.jpg&quot; width=&quot;231&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;点击绿色播放按钮，嘿嘿&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;~&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;闪耀的绿光出现啦&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;~&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;72&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/11.jpg&quot; width=&quot;293&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;214&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/12.jpg&quot; width=&quot;276&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;剩下的问题是，在&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的游戏中如何使用它？当然，首先得将这个动画进行输出：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;347&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/13.jpg&quot; width=&quot;428&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;211&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/14.jpg&quot; width=&quot;593&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;《幻影粒子》提供的输出格式还挺多的，经过本人一一测试，最终的结论是：只有&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;AVI(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;无损&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;和&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;PNG(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;有损&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;比较靠谱，分别对应电影特效和游戏特效应用领域。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;来说，毫无疑问，当然选择&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;PNG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。当然，特别需要注意的是尽量规避黑色的元素部件；因为《幻影粒子》导出的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;PNG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;并非无损，尤其是粒子效果中若掺杂有黑色像素，导出的图片相当糟糕：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;302&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/15.jpg&quot; width=&quot;551&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;OK&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，按照以上参数点击确定后，我们便可得到连续的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;120&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;帧粒子动画&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;PNG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;序列图片。实际上绝大多数&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;2D&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏基本都用不上如此高的帧频，所以我们可以根据游戏的实际品质需求，截取中间部分，并间隔提取必要帧图，比如每间隔&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;4&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;提取一张便足以构建一个连贯循环的绿光动画，再以连续有规律的数字对它们进行命名：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;1136&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/16.jpg&quot; width=&quot;484&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;最后，将这些图帧添加到游戏中并通过一个名为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Animation&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的控件呈现出来。以同样的方法，我们在《幻影粒子》中也能找到现成类似的冒烟及闪光动画，将它们稍作修改后便可加入到游戏中烟囱和宝箱上面&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;~&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;哈，瞬间整个游戏生动了许多！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;img height=&quot;325&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/120119/17.jpg&quot; width=&quot;547&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;这是一款基于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;SLG&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏引擎的一部分，在线演示&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Demo&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如下&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(&lt;/font&gt;&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo5.rar&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载该&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Demo&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;：&lt;/span&gt;
&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;360&quot; width=&quot;600&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAANSUAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwA1AC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
&lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo5.xap&quot;     /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot;     /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot;     /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot;     /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot;     /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot;     /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
&lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot;       /&gt;
&lt;/a&gt;     &lt;/object&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;手记思考：其实，最让人兴奋的莫过于通过《幻影粒子》制作出来的动画特效所有权完全属于制作者，制作者们再也不用担心版权问题&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如此大量的变化参数，改动后的样式外观都会发生千变万化&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，在它的辅助下进行&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;游戏开发真乃如鱼得水&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;~&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;高性能开发效率搭配高品质，这难道不是我们所有游戏开发者最梦寐的追求吗！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/nowpaper/archive/2011/12/18/2291706.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;中游在线&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;的&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silvery.codeplex.com/&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;《WOWO&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;世界开源》&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;，所有游戏厂商都开始在移动平台布局；随着&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;多核手机将成为趋势，手机游戏中多量炫彩动画将不再成为性能问题。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;a href=&quot;http://www.mscbsc.com/viewnews-62481.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;近期诺基亚宣布亚太总部将由新加坡迁至北京&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，这对于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Windows Phone&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;应用开发来说锦上添花！加油吧，开发者们！&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2327574.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2012/01/19/2327574.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Thu, 19 Jan 2012 18:49:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2012/01/19/2327574.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Google的Native Client微笑着抽了HTML5一记漂亮的耳光</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/12/14/2287991.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;日前，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/165071.htm&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;mso-bidi-font-family: 宋体&quot;&gt;Google&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;在加州&lt;span lang=&quot;EN-US&quot;&gt;总&lt;span lang=&quot;EN-US&quot;&gt;部的一次会议上首次公开演示了Native&amp;nbsp;Client&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;项目（简称&amp;#8220;NaCl&amp;#8221;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;）&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;，&lt;span lang=&quot;EN-US&quot;&gt;Google&lt;/span&gt;已经花了三年多时间研发此项目并表示未来的浏览器中将整合该技术，同时宣布&lt;span lang=&quot;EN-US&quot;&gt;Native Client&lt;/span&gt;即将起飞，开发者们准备好了吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;Native Client&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;究竟是啥东西？&lt;span lang=&quot;EN-US&quot;&gt;Google&lt;/span&gt;居然撇开&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;释放如此妖怪，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.2366.com/news/201112/14_130351.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;摘&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;录&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;相关&lt;span lang=&quot;EN-US&quot;&gt;介绍&lt;span lang=&quot;EN-US&quot;&gt;中&lt;span lang=&quot;EN-US&quot;&gt;的&lt;span lang=&quot;EN-US&quot;&gt;一段话&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;Native Client &lt;/span&gt;简单来说就是一套让网络应用&lt;span lang=&quot;EN-US&quot;&gt; / &lt;/span&gt;软件开发者能够直接利用计算机中资源，而不需要间接透过浏览器来执行的开放原始码技术，&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;技术上跟&lt;span lang=&quot;EN-US&quot;&gt; ActiveX&lt;/span&gt;、&lt;span lang=&quot;EN-US&quot;&gt;Adobe &lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt; Alchemy &lt;/span&gt;类似&lt;/strong&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;此文一出，众人纷纷表示那么它肯定是类似&lt;span lang=&quot;EN-US&quot;&gt;.net&lt;/span&gt;或者&lt;span lang=&quot;EN-US&quot;&gt;java&lt;/span&gt;之类的技术，&lt;span lang=&quot;EN-US&quot;&gt;Google&lt;/span&gt;在重新发明&lt;span lang=&quot;EN-US&quot;&gt;ActiveX/Flash&lt;/span&gt;。&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://developer.51cto.com/art/200906/126525.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;习惯&lt;span lang=&quot;EN-US&quot;&gt;了Google&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;和&lt;span lang=&quot;EN-US&quot;&gt;各位&lt;span lang=&quot;EN-US&quot;&gt;跟班&lt;span lang=&quot;EN-US&quot;&gt;每天&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;叫嚣着HTML5&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;就是未来&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;，&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;就是上帝，就是如来；&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: blue; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/165147.htm&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;怎知&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;却实在忍&lt;span lang=&quot;EN-US&quot;&gt;不&lt;span lang=&quot;EN-US&quot;&gt;住&lt;span lang=&quot;EN-US&quot;&gt;蹦出&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;个Google&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;版Flash - Native Client&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;，着实让诸位&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;崇拜者大跌眼镜：不是约定好了不玩插件了吗？不是说&lt;span lang=&quot;EN-US&quot;&gt;ActiveX&lt;/span&gt;是垃圾吗？我靠，又被断臂，你让&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;崇拜者情何以堪？难道&lt;span lang=&quot;EN-US&quot;&gt;2012&lt;/span&gt;真是世界末日？&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;&lt;a href=&quot;http://chanye.uuu9.com/2011/201111/227308.shtml&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;顺便引用Zipline Game首席执行官的话：&amp;#8220;许多人都在谈论HTML5。但其中大多是虚假宣传。目前，我觉得它根本就是名不副实。&amp;#8221;Hooper说道，&amp;#8220;HTML5开发小组在各大发布会上吹得天花乱坠，但我们却没能见到游戏成品。实际情况是，大部分游戏开发者都不是HTML5程序员。而且，大部分游戏程序员都不愿意使用JavaScript。&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;世界就是这样，微软的官僚作风让人难以接受，&lt;span lang=&quot;EN-US&quot;&gt;Google&lt;/span&gt;的无间道更让人云里雾里。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;或许还是老人家说得对：成功，只青睐行动和事实，而非口舌之快者。&lt;span lang=&quot;EN-US&quot;&gt;Silverlight再好其本身也&lt;/span&gt;不会给你带来什么，&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;目前更不可能带来什么，问下你自己的双手吧，它们给你带来了什么？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2287991.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/12/14/2287991.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>Google在重新发明ActiveX/Flash，让HTML5崇拜者情何以堪？</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;日前，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/165071.htm&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;mso-bidi-font-family: 宋体&quot;&gt;Google&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;在加州&lt;span lang=&quot;EN-US&quot;&gt;总&lt;span lang=&quot;EN-US&quot;&gt;部的一次会议上首次公开演示了Native&amp;nbsp;Client&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;项目（简称&amp;#8220;NaCl&amp;#8221;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;）&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;，&lt;span lang=&quot;EN-US&quot;&gt;Google&lt;/span&gt;已经花了三年多时间研发此项目并表示未来的浏览器中将整合该技术，同时宣布&lt;span lang=&quot;EN-US&quot;&gt;Native Client&lt;/span&gt;即将起飞，开发者们准备好了吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;Native Client&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;究竟是啥东西？&lt;span lang=&quot;EN-US&quot;&gt;Google&lt;/span&gt;居然撇开&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;释放如此妖怪，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.2366.com/news/201112/14_130351.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;摘&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;录&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;相关&lt;span lang=&quot;EN-US&quot;&gt;介绍&lt;span lang=&quot;EN-US&quot;&gt;中&lt;span lang=&quot;EN-US&quot;&gt;的&lt;span lang=&quot;EN-US&quot;&gt;一段话&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;Native Client &lt;/span&gt;简单来说就是一套让网络应用&lt;span lang=&quot;EN-US&quot;&gt; / &lt;/span&gt;软件开发者能够直接利用计算机中资源，而不需要间接透过浏览器来执行的开放原始码技术，&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;技术上跟&lt;span lang=&quot;EN-US&quot;&gt; ActiveX&lt;/span&gt;、&lt;span lang=&quot;EN-US&quot;&gt;Adobe &lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt; Alchemy &lt;/span&gt;类似&lt;/strong&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;此文一出，众人纷纷表示那么它肯定是类似&lt;span lang=&quot;EN-US&quot;&gt;.net&lt;/span&gt;或者&lt;span lang=&quot;EN-US&quot;&gt;java&lt;/span&gt;之类的技术，&lt;span lang=&quot;EN-US&quot;&gt;Google&lt;/span&gt;在重新发明&lt;span lang=&quot;EN-US&quot;&gt;ActiveX/Flash&lt;/span&gt;。&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://developer.51cto.com/art/200906/126525.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;习惯&lt;span lang=&quot;EN-US&quot;&gt;了Google&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;和&lt;span lang=&quot;EN-US&quot;&gt;各位&lt;span lang=&quot;EN-US&quot;&gt;跟班&lt;span lang=&quot;EN-US&quot;&gt;每天&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;叫嚣着HTML5&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;就是未来&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;，&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;就是上帝，就是如来；&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: blue; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/165147.htm&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;怎知&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;却实在忍&lt;span lang=&quot;EN-US&quot;&gt;不&lt;span lang=&quot;EN-US&quot;&gt;住&lt;span lang=&quot;EN-US&quot;&gt;蹦出&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;个Google&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;版Flash - Native Client&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;，着实让诸位&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;崇拜者大跌眼镜：不是约定好了不玩插件了吗？不是说&lt;span lang=&quot;EN-US&quot;&gt;ActiveX&lt;/span&gt;是垃圾吗？我靠，又被断臂，你让&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;崇拜者情何以堪？难道&lt;span lang=&quot;EN-US&quot;&gt;2012&lt;/span&gt;真是世界末日？&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;&lt;a href=&quot;http://chanye.uuu9.com/2011/201111/227308.shtml&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;顺便引用Zipline Game首席执行官的话：&amp;#8220;许多人都在谈论HTML5。但其中大多是虚假宣传。目前，我觉得它根本就是名不副实。&amp;#8221;Hooper说道，&amp;#8220;HTML5开发小组在各大发布会上吹得天花乱坠，但我们却没能见到游戏成品。实际情况是，大部分游戏开发者都不是HTML5程序员。而且，大部分游戏程序员都不愿意使用JavaScript。&amp;#8221;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;世界就是这样，微软的官僚作风让人难以接受，&lt;span lang=&quot;EN-US&quot;&gt;Google&lt;/span&gt;的无间道更让人云里雾里。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;或许还是老人家说得对：成功，只青睐行动和事实，而非口舌之快者。&lt;span lang=&quot;EN-US&quot;&gt;Silverlight再好其本身也&lt;/span&gt;不会给你带来什么，&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;目前更不可能带来什么，问下你自己的双手吧，它们给你带来了什么？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2287991.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/12/14/2287991.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Wed, 14 Dec 2011 19:40:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/12/14/2287991.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Silverlight游戏研发手记：(四)SLG无限自由之过场动画</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/12/05/2276471.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;最初迷恋《火纹》，便是因为战斗时的场景切换（战斗特写）；《梦幻模拟战》、《高达》、《高级大战争》亦如是。特别喜欢这些电子公仔上演一幕幕华丽的战局，如果要说一款战棋类&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;的精髓在哪？毫无疑问：没有战斗特写的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;永远无法成为经典与永恒。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;战斗特写，即&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;中角色对战时对战斗场景的放大，让玩家身临其境的感受战斗的激烈与乐趣，细腻而畅快。&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; stroked=&quot;f&quot; filled=&quot;f&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; coordsize=&quot;21600,21600&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype=&quot;rect&quot; gradientshapeok=&quot;t&quot; o:extrusionok=&quot;f&quot;&gt;&lt;/v:path&gt;&lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;384&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111205/0.jpg&quot; width=&quot;382&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;在游戏设计设方面，战斗特写无外乎是两个&lt;span lang=&quot;EN-US&quot;&gt;Scene&lt;/span&gt;的切换，一个隐藏，一个显示，这并不困难；而最华丽又最能吸引眼球的关键其实便是夹于其中的过场切换动画：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;495&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111205/1.jpg&quot; width=&quot;590&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;有的一扫而过，有的发散放大，有的肢离破碎，亦有渐隐渐现，旋转、波纹无不天马行空，成为每款&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;所独具韵味之地。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;看似复杂的效果，其实我们只需借助一张纹路图片配以相应的&lt;span lang=&quot;EN-US&quot;&gt;HLSL&lt;/span&gt;解析便可完成。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;495&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111205/2.jpg&quot; width=&quot;590&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;乍一看，这些都是神马？&lt;span lang=&quot;EN-US&quot;&gt;3D&lt;/span&gt;地形材质？确实有些异曲同工之妙。通过&lt;span lang=&quot;EN-US&quot;&gt;HLSL&lt;/span&gt;编写对像素边缘的查找，再以动画形式处理其中的&lt;span lang=&quot;EN-US&quot;&gt;Progress&lt;/span&gt;参数，见证奇迹的时刻：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('24c0e6ec-79ff-4b4c-900a-658bbe3492eb')&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transition.Visibility&amp;nbsp;=&amp;nbsp;Visibility.Visible;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&amp;nbsp;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;战斗&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;transition.Source&amp;nbsp;=&amp;nbsp;Global.GetImage(&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;.Format(&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Battle/{0}.jpg&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;,&amp;nbsp;Global.RandomSeed.Next(&lt;span style=&quot;color: #800080&quot;&gt;5&lt;/span&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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;实景&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;ImageBrush&amp;nbsp;real&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;ImageBrush()&amp;nbsp;{&amp;nbsp;ImageSource&amp;nbsp;=&amp;nbsp;Screenshot()&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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;切换&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;ImageBrush&amp;nbsp;cutover&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;ImageBrush()&amp;nbsp;{&amp;nbsp;ImageSource&amp;nbsp;=&amp;nbsp;Global.GetImage(&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;.Format(&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Transition/{0}.jpg&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;,&amp;nbsp;Convert.ToInt32(((ComboBoxItem)comboBox4.SelectedItem).Tag)))&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 style=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&amp;nbsp;(Convert.ToInt32(((ComboBoxItem)comboBox5.SelectedItem).Tag))&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 style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;effect&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Transition_RadialWiggle()&amp;nbsp;{&amp;nbsp;RandomSeed&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Texture2&amp;nbsp;=&amp;nbsp;real,&amp;nbsp;TextureMap&amp;nbsp;=&amp;nbsp;cutover&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;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;break&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&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;effect&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Transition_CloudReveal()&amp;nbsp;{&amp;nbsp;Texture2&amp;nbsp;=&amp;nbsp;real,&amp;nbsp;TextureMap&amp;nbsp;=&amp;nbsp;cutover&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;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;50&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;break&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&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;effect&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Transition_RotateCrumble()&amp;nbsp;{&amp;nbsp;RandomSeed&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Texture2&amp;nbsp;=&amp;nbsp;real,&amp;nbsp;TextureMap&amp;nbsp;=&amp;nbsp;cutover&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;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;break&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&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;effect&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Transition_Blood()&amp;nbsp;{&amp;nbsp;RandomSeed&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Texture2&amp;nbsp;=&amp;nbsp;real,&amp;nbsp;TextureMap&amp;nbsp;=&amp;nbsp;cutover&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;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;break&lt;/span&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;transition.Effect&amp;nbsp;=&amp;nbsp;effect;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard&amp;nbsp;storyboard&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Storyboard();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;easing&amp;nbsp;=&amp;nbsp;Convert.ToInt32(((ComboBoxItem)comboBox6.SelectedItem).Tag);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Children.Add(Global.CreateDoubleAnimation(effect,&amp;nbsp;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Progress&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;progress,&amp;nbsp;TimeSpan.FromMilliseconds(slider1.Value),&amp;nbsp;(easing&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&amp;nbsp;?&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;:&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PowerEase()&amp;nbsp;{&amp;nbsp;EasingMode&amp;nbsp;=&amp;nbsp;&amp;nbsp;(EasingMode)easing&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;storyboard.Completed&amp;nbsp;+=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Global.SetTimeout(&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container.Visibility&amp;nbsp;=&amp;nbsp;Visibility.Visible;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Storyboard();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Children.Add(Global.CreateDoubleAnimation(transition,&amp;nbsp;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Opacity&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;TimeSpan.FromMilliseconds(&lt;span style=&quot;color: #800080&quot;&gt;600&lt;/span&gt;),&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PowerEase()&amp;nbsp;{&amp;nbsp;EasingMode&amp;nbsp;=&amp;nbsp;EasingMode.EaseOut&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;storyboard.Completed&amp;nbsp;+=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transition.Opacity&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transition.Visibility&amp;nbsp;=&amp;nbsp;Visibility.Collapsed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;storyboard.Begin();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #800080&quot;&gt;600&lt;/span&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;storyboard.Begin();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111205/3.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本节，我为大家准备了&lt;span lang=&quot;EN-US&quot;&gt;4&lt;/span&gt;种动画形式，并倾囊所出，为大家提供了近百张过场纹路素材，嘿嘿&lt;span lang=&quot;EN-US&quot;&gt;~&lt;/span&gt;无限自由拓展，你感动了吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;这是一款基于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏引擎的一部分，在线演示&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;如下&lt;span lang=&quot;EN-US&quot;&gt;(&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo4.rar&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载该Demo&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;360&quot; width=&quot;600&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAANSUAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwA0AC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
    &lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo4.xap&quot; /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot; /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot; /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot; /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot; /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
      &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot; /&gt;
    &lt;/a&gt;     &lt;/object&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;其实，将此类过场动画运用到&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;企业项目中，效果同样增色不少，用户体验大幅提升直接影响软件好评，何乐不为？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;一切都快了，人们高节奏的生活习惯让复杂而缓慢的战棋&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;逐年衰退，虽然页游方面在努力弥补，但具有纯正血统战斗特写的几乎没有，这也是为什么至今我们这些电玩人依旧每天期盼着《火纹》新作。我不想用预防老年痴呆这个理由来挽救战棋&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;，在利益与理想面前，大家通常会选择背弃，突然有一天或许你发现，原来人生的意义并不仅仅是获取。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/123217/&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;后妈Adobe&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;断臂Flash&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;和FLEX&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;，&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;除了帮你泡妞，带来任何金钱了吗？&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.bbniu.com/matrix/Showcase.aspx&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-bidi-font-family: 宋体&quot;&gt;Silverlight 5 &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的3D&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;性能&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;突飞猛进&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;font face=&quot;宋体&quot;&gt;，&lt;span lang=&quot;EN-US&quot;&gt;WP7&lt;/span&gt;的蓄势待发，强大的势力正在席卷全球，&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://forums.silverlight.net/t/225694.aspx/1?Silverlight+6+Wishlist&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-bidi-font-family: 宋体&quot;&gt;Silverlight 6 !&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;一个必将改变&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;世界&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的力量&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;font face=&quot;宋体&quot;&gt;，今天的你，还在迷失吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2276471.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/12/05/2276471.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>最初迷恋《火纹》，便是因为战斗时的场景切换（战斗特写）；《梦幻模拟战》、《高达》、《高级大战争》亦如是。特别喜欢这些电子公仔上演一幕幕华丽的战局，如果要说一款战棋类SLG的精髓在哪？毫无疑问：没有战斗特写的SLG永远无法成为经典与永恒。</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;最初迷恋《火纹》，便是因为战斗时的场景切换（战斗特写）；《梦幻模拟战》、《高达》、《高级大战争》亦如是。特别喜欢这些电子公仔上演一幕幕华丽的战局，如果要说一款战棋类&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;的精髓在哪？毫无疑问：没有战斗特写的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;永远无法成为经典与永恒。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;战斗特写，即&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;中角色对战时对战斗场景的放大，让玩家身临其境的感受战斗的激烈与乐趣，细腻而畅快。&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; stroked=&quot;f&quot; filled=&quot;f&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; coordsize=&quot;21600,21600&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype=&quot;rect&quot; gradientshapeok=&quot;t&quot; o:extrusionok=&quot;f&quot;&gt;&lt;/v:path&gt;&lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;384&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111205/0.jpg&quot; width=&quot;382&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;在游戏设计设方面，战斗特写无外乎是两个&lt;span lang=&quot;EN-US&quot;&gt;Scene&lt;/span&gt;的切换，一个隐藏，一个显示，这并不困难；而最华丽又最能吸引眼球的关键其实便是夹于其中的过场切换动画：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;495&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111205/1.jpg&quot; width=&quot;590&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;有的一扫而过，有的发散放大，有的肢离破碎，亦有渐隐渐现，旋转、波纹无不天马行空，成为每款&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;所独具韵味之地。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;看似复杂的效果，其实我们只需借助一张纹路图片配以相应的&lt;span lang=&quot;EN-US&quot;&gt;HLSL&lt;/span&gt;解析便可完成。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;495&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111205/2.jpg&quot; width=&quot;590&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;乍一看，这些都是神马？&lt;span lang=&quot;EN-US&quot;&gt;3D&lt;/span&gt;地形材质？确实有些异曲同工之妙。通过&lt;span lang=&quot;EN-US&quot;&gt;HLSL&lt;/span&gt;编写对像素边缘的查找，再以动画形式处理其中的&lt;span lang=&quot;EN-US&quot;&gt;Progress&lt;/span&gt;参数，见证奇迹的时刻：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('24c0e6ec-79ff-4b4c-900a-658bbe3492eb')&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transition.Visibility&amp;nbsp;=&amp;nbsp;Visibility.Visible;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&amp;nbsp;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;战斗&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;transition.Source&amp;nbsp;=&amp;nbsp;Global.GetImage(&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;.Format(&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Battle/{0}.jpg&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;,&amp;nbsp;Global.RandomSeed.Next(&lt;span style=&quot;color: #800080&quot;&gt;5&lt;/span&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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;实景&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;ImageBrush&amp;nbsp;real&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;ImageBrush()&amp;nbsp;{&amp;nbsp;ImageSource&amp;nbsp;=&amp;nbsp;Screenshot()&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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;切换&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;ImageBrush&amp;nbsp;cutover&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;ImageBrush()&amp;nbsp;{&amp;nbsp;ImageSource&amp;nbsp;=&amp;nbsp;Global.GetImage(&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;.Format(&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Transition/{0}.jpg&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;,&amp;nbsp;Convert.ToInt32(((ComboBoxItem)comboBox4.SelectedItem).Tag)))&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 style=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&amp;nbsp;(Convert.ToInt32(((ComboBoxItem)comboBox5.SelectedItem).Tag))&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 style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;effect&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Transition_RadialWiggle()&amp;nbsp;{&amp;nbsp;RandomSeed&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Texture2&amp;nbsp;=&amp;nbsp;real,&amp;nbsp;TextureMap&amp;nbsp;=&amp;nbsp;cutover&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;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;break&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&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;effect&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Transition_CloudReveal()&amp;nbsp;{&amp;nbsp;Texture2&amp;nbsp;=&amp;nbsp;real,&amp;nbsp;TextureMap&amp;nbsp;=&amp;nbsp;cutover&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;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;50&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;break&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&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;effect&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Transition_RotateCrumble()&amp;nbsp;{&amp;nbsp;RandomSeed&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Texture2&amp;nbsp;=&amp;nbsp;real,&amp;nbsp;TextureMap&amp;nbsp;=&amp;nbsp;cutover&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;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;break&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&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;effect&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Transition_Blood()&amp;nbsp;{&amp;nbsp;RandomSeed&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Texture2&amp;nbsp;=&amp;nbsp;real,&amp;nbsp;TextureMap&amp;nbsp;=&amp;nbsp;cutover&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;progress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;break&lt;/span&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;transition.Effect&amp;nbsp;=&amp;nbsp;effect;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard&amp;nbsp;storyboard&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Storyboard();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;easing&amp;nbsp;=&amp;nbsp;Convert.ToInt32(((ComboBoxItem)comboBox6.SelectedItem).Tag);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Children.Add(Global.CreateDoubleAnimation(effect,&amp;nbsp;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Progress&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;progress,&amp;nbsp;TimeSpan.FromMilliseconds(slider1.Value),&amp;nbsp;(easing&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&amp;nbsp;?&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;:&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PowerEase()&amp;nbsp;{&amp;nbsp;EasingMode&amp;nbsp;=&amp;nbsp;&amp;nbsp;(EasingMode)easing&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;storyboard.Completed&amp;nbsp;+=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Global.SetTimeout(&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container.Visibility&amp;nbsp;=&amp;nbsp;Visibility.Visible;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Storyboard();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Children.Add(Global.CreateDoubleAnimation(transition,&amp;nbsp;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Opacity&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;TimeSpan.FromMilliseconds(&lt;span style=&quot;color: #800080&quot;&gt;600&lt;/span&gt;),&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PowerEase()&amp;nbsp;{&amp;nbsp;EasingMode&amp;nbsp;=&amp;nbsp;EasingMode.EaseOut&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;storyboard.Completed&amp;nbsp;+=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transition.Opacity&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transition.Visibility&amp;nbsp;=&amp;nbsp;Visibility.Collapsed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;storyboard.Begin();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #800080&quot;&gt;600&lt;/span&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;storyboard.Begin();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111205/3.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本节，我为大家准备了&lt;span lang=&quot;EN-US&quot;&gt;4&lt;/span&gt;种动画形式，并倾囊所出，为大家提供了近百张过场纹路素材，嘿嘿&lt;span lang=&quot;EN-US&quot;&gt;~&lt;/span&gt;无限自由拓展，你感动了吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;这是一款基于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏引擎的一部分，在线演示&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;如下&lt;span lang=&quot;EN-US&quot;&gt;(&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo4.rar&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载该Demo&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;360&quot; width=&quot;600&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAANSUAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwA0AC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
    &lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo4.xap&quot; /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot; /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot; /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot; /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot; /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
      &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot; /&gt;
    &lt;/a&gt;     &lt;/object&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;其实，将此类过场动画运用到&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;企业项目中，效果同样增色不少，用户体验大幅提升直接影响软件好评，何乐不为？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;一切都快了，人们高节奏的生活习惯让复杂而缓慢的战棋&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;逐年衰退，虽然页游方面在努力弥补，但具有纯正血统战斗特写的几乎没有，这也是为什么至今我们这些电玩人依旧每天期盼着《火纹》新作。我不想用预防老年痴呆这个理由来挽救战棋&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;，在利益与理想面前，大家通常会选择背弃，突然有一天或许你发现，原来人生的意义并不仅仅是获取。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/123217/&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;后妈Adobe&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;断臂Flash&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;和FLEX&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;，&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;除了帮你泡妞，带来任何金钱了吗？&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.bbniu.com/matrix/Showcase.aspx&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-bidi-font-family: 宋体&quot;&gt;Silverlight 5 &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的3D&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;性能&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;突飞猛进&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;font face=&quot;宋体&quot;&gt;，&lt;span lang=&quot;EN-US&quot;&gt;WP7&lt;/span&gt;的蓄势待发，强大的势力正在席卷全球，&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://forums.silverlight.net/t/225694.aspx/1?Silverlight+6+Wishlist&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-bidi-font-family: 宋体&quot;&gt;Silverlight 6 !&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;一个必将改变&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;世界&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的力量&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;font face=&quot;宋体&quot;&gt;，今天的你，还在迷失吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2276471.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/12/05/2276471.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Mon, 05 Dec 2011 10:32:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/12/05/2276471.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Silverlight游戏研发手记：(三)蜂窝拓扑结构在SLG地图布局中的应用</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/10/17/2214477.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.45pt; line-height: 150%; mso-char-indent-count: 1.96&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;上一节给大家讲解了如何在四边形单元格基础上构建&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;地图场景，并实现移动、战斗的基础框架；热爱&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;的朋友一定非常清楚，绝大多数的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏地形单元格都可归为四类：四边四向、四边八向和四边六向、六边六向：&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;292&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/13.jpg&quot; width=&quot;274&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.45pt; line-height: 150%; mso-char-indent-count: 1.96&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;粗看，六边六向是其中构建最复杂的地形，它的称谓很多，比如六面网格、六边网格、晶体网格、蜂窝网格等等，不管叫什么，它总能给我们一种严谨而完美的直观印象。这种奇妙的感觉缘何而来？雪花、分子、螺帽、蜂巢、球网、芯片&lt;span lang=&quot;EN-US&quot;&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;在现实生活中，它的身影似乎无处不在。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;319&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/14.jpg&quot; width=&quot;404&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;困惑再一次升级：自然界为何偏偏热衷于复杂？网上的答复让人摸不着头脑，有朋友说六边形结构最省材，有的则说六边形结构最稳定，那难道三角形就不稳定了吗？有的朋友则又说，六边形最牢固且能耗最低，林林种种&lt;span lang=&quot;EN-US&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;于是迫在眉睫的证据让我阅穿百页搜索，一篇&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #323e32; font-family: 宋体; mso-bidi-font-family: 宋体&quot;&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_48bb0d010100ejjl.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;《&amp;#8220;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;天人合一&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&amp;#8221;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;在六边形&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;里》&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;mso-bidi-font-weight: bold&quot;&gt;使我茅塞顿开：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;基于空间填充原理：在一个平面中，只有正三角形、正四边形、正六边形三种图形可以完全填满平面，即不互相重叠，也不留下空隙。但是在这三种图形中，如果同样的周长，正六边形的面积最大。也就是说，六边形具有&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: 16.5pt; color: red; line-height: 161%&quot;&gt;&amp;#8220;完全填充&amp;#8221;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;和&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: 16.5pt; color: red; line-height: 161%&quot;&gt;&amp;#8220;最具效率&amp;#8221;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;的双重优势。同时亦遵循着自然界最普遍原理&lt;span lang=&quot;EN-US&quot;&gt; - &lt;/span&gt;&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: 16.5pt; color: red; line-height: 161%&quot;&gt;最小作用量原理&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;相当给力！&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;不过，高兴似乎还早了些，&lt;span lang=&quot;EN-US&quot;&gt;Hold&lt;/span&gt;住。难道所有的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏开发者仅仅都因为以上原因而在设计之初选择六边形单元格吗？毫无疑问，非也。游戏，若过分掺杂着教条主义则必将与娱乐背道而驰。要回答这个问题我们还得追溯到&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏的发展史：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;a href=&quot;http://baike.baidu.com/view/534211.htm&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-bidi-font-family: 宋体&quot;&gt;SLG&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;游戏&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;类型&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;是最古老的游戏类型之一，其逻辑AI的复杂性也是所有游戏中最高的。在我的印象中，基于六向的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏最早见于红白机上的《大战略》：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 161%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;img height=&quot;235&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/12.jpg&quot; width=&quot;500&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;游戏中采用了中庸的四边六向单元格，这样的地图布局起来比六边形构造更简单，但效果却一摸一样。日本厂商不乏类似的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;大作，比如&lt;span lang=&quot;EN-US&quot;&gt;3D&lt;/span&gt;的《三国志&lt;span lang=&quot;EN-US&quot;&gt;11&lt;/span&gt;》依旧选择采用这种形式来布局地形：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 161%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;img height=&quot;450&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/11.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28.5pt; line-height: 161%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;当然，市面上六向的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏大多还是采用正统的六边形单元格，比如经典的《天使帝国》和《文明》：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 161%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;img height=&quot;343&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/1.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 161%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/0.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28.5pt; line-height: 161%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;到此，我们将以上四部作品与其他采用四边形单元格的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏相比较便会发现，&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: #ff6600&quot;&gt;基于四边形网格的地图具有局限性&lt;/span&gt;&lt;/strong&gt;，从每个单元格的中心到相邻单元格的中心距离不尽相等&lt;span lang=&quot;EN-US&quot;&gt;,&lt;/span&gt;沿纵、横方向上相同&lt;span lang=&quot;EN-US&quot;&gt;,&lt;/span&gt;但不同于对角线方向上的距离，即&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: #ff6600&quot;&gt;对角线移动比直线移动更快&lt;/span&gt;&lt;/strong&gt;，战略上讲这是&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: red&quot;&gt;非常不公平&lt;/span&gt;&lt;/strong&gt;的；而使用六边形网格地图，其&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;放射对称性原理&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;（单元格中心到所有方向上的相邻单元格中心点的距离均相等）使得游戏更加&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;真实&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;与&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;严谨&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;，此类游戏尤其能体现单位与临接单位之间的&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;绝对公平的相互作用关系&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;。&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;综合以上分析得出：正六边形单元格是最饱满，且边、角交汇最省的单元格，加上前文所述完全填充且最具效率的双重优势，游戏中使用六向&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://baike.baidu.com/view/82343.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: windowtext; text-decoration: none; mso-bidi-font-family: 宋体; text-underline: none&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;网格&lt;span lang=&quot;EN-US&quot;&gt;结构&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;font face=&quot;宋体&quot;&gt;比传统四边形网格结构更具&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;立体层次感&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;，且比基于四边八向地形更能体现游戏的&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;公平性&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;，因此其构建的地图最&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;贴近真实世界&lt;span lang=&quot;EN-US&quot;&gt; - &lt;/span&gt;地理路网拓扑系统&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;云开见日，有了以上的理论依据，接下来我们便可将真实世界的地理路网映射到游戏中，&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;抽象成基于六边形蜂窝拓扑结构的战略地图&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;449&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/2.jpg&quot; width=&quot;480&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; text-align: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;开始动手吧，打开&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/09/21/2184260.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;上一节&lt;span lang=&quot;EN-US&quot;&gt;的&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; mso-bidi-font-family: 宋体&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，我们首先要做的就是修改将游戏坐标转换成窗口像素位置的方法&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(GetPositionFromCoordinate())&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，这个算法怎么改？似乎还找不着头绪。按照上图布局，我们不妨先做个例枚举，然后通过分析找出其中规律所在。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;不难看出，虽然每个单元格都拥有六方向，但它们的坐标同样基于二维的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X,Y&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;构成，大体看来，&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Y&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标是连续的，&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标则是规律起伏的。接下来我们进一步明确，六边形地砖的铺设&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;拼接&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;是以左上角最大宽、高作处作为起点&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;167&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/5.jpg&quot; width=&quot;330&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;假设&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;单元格的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，那么&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,1)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,2)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,1)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,2)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;(2,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,1)&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,2)&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的像素坐标分别是多少？？&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;491&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/4.jpg&quot; width=&quot;541&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; text-align: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如上图，坐标为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的六边形单元格，其铺设位置起点为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;O&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;点；坐标为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的六边形单元格，其铺设位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;M&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;点；而坐标为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,1)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的六边形单元格，其铺设位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;N&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;点，以此类推。于是，我们要分别得到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;O&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;M&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;N&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的像素位置，则必须知道正六边形的边长以及&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;a&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的长度值：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;554&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/3.jpg&quot; width=&quot;564&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;假设正六边形地砖的边长为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;L&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，根据三角形内角和为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;180&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度，则六边形内角和为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;720&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度，那么正六边形每个角为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;120&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度，于是可以得到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;与&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;L&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的夹角为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;30&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度。根据三角函数公式可知&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;L&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;a&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;之间的转换公式如下：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;a = L * Sin 30&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&amp;#176;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b = L * Cos30&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&amp;#176;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;同时，我们分别对&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;至&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,2)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;这九个单元格进行枚举，会发现如下规律：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0) &lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,1)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,2b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,2)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,4b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,0)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(a+L,b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,1)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(a+L,2b+b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,2)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(a+L,4b+b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,0)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2*(a+L),0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,1)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2*(a+L),2b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,2)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2*(a+L),4b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;依次类推&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;是不是开始有些激动了？其实重点就在于&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: red&quot;&gt;当坐标&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: red&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; color: red; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;为奇数时，&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: red&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Y&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; color: red; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;多加一个&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: red&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; color: red; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;值&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。假如坐标为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(X,Y)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的六边形单元格，其所对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(A,B)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，则&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;A=X*L*(1+Sin30)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;B=(Y*2+X%2)*L*Cos30&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; text-align: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;最后转换成&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;编程语言，&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;GetPositionFromCoordinate()&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;方法修改如下：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;获取窗口Canvas中的位置Position(通过空间坐标系中的坐标Coordinate换算而来)&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&amp;nbsp;Point&amp;nbsp;GetPositionFromCoordinate(Point&amp;nbsp;p)&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 style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&amp;nbsp;radian30&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;30&lt;/span&gt;&amp;nbsp;*&amp;nbsp;Math.PI&amp;nbsp;/&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;180&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;p.X&amp;nbsp;*&amp;nbsp;GridSide&amp;nbsp;*&amp;nbsp;(&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;+&amp;nbsp;Math.Sin(radian30));&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;(p.Y&amp;nbsp;*&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&amp;nbsp;+&amp;nbsp;p.X&amp;nbsp;%&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;GridSide&amp;nbsp;*&amp;nbsp;Math.Cos(radian30);&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&amp;nbsp;TileType&amp;nbsp;==&amp;nbsp;TileTypes.Flat&amp;nbsp;?&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point(x,&amp;nbsp;y)&amp;nbsp;:&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point(y,&amp;nbsp;x);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如此大的周折也仅仅是完成了蜂窝拓扑结构地砖铺设而&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;已，下一个任务便是修改角色的移动范围算法；有了前面详尽的分析，这道工序相对简单了很多。基于上一节四叉树遍历算法基础上我们进行如下修改：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;RangeScan(Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;tempList,&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;rangeList,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;moveLimit)&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;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;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 style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;tempList.Count;&amp;nbsp;i++)&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;KeyValuePair&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;kvp&amp;nbsp;=&amp;nbsp;tempList.ElementAt(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X,&amp;nbsp;kvp.Key.Y&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X,&amp;nbsp;kvp.Key.Y&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(kvp.Key.X&amp;nbsp;%&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;else&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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 style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&amp;nbsp;result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;完了吗？还没，最关键的时刻到了，上一节的&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法只能满足四向或八向寻路，如何实现六向寻路&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法？重写一个？&lt;span lang=&quot;EN-US&quot;&gt;NO&lt;/span&gt;，其实我们只需对方向遍历模块进行修改，使之变成六向检索，且每个单元格的移动消耗设置一致即可：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;img height=&quot;233&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/6.jpg&quot; width=&quot;568&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;以&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法中的&lt;span lang=&quot;EN-US&quot;&gt;PathFinderFast&lt;/span&gt;为例，修为内容如下：&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('8a2c9f2d-69a0-4136-8470-d9317db95700')&quot;&gt;&lt;img  id=&quot;code_img_opened_8a2c9f2d-69a0-4136-8470-d9317db95700&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('8a2c9f2d-69a0-4136-8470-d9317db95700',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt; 
&lt;div  id=&quot;cnblogs_code_open_8a2c9f2d-69a0-4136-8470-d9317db95700&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(mLocationX&amp;nbsp;%&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;)&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;mDirection&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;sbyte&lt;/span&gt;[&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;]&amp;nbsp;{&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&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;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mDirection&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;sbyte&lt;/span&gt;[&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;]&amp;nbsp;{&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&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;&lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i=&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;lt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;;&amp;nbsp;i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;mNewLocationX&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;ushort&lt;/span&gt;)&amp;nbsp;(mLocationX&amp;nbsp;+&amp;nbsp;mDirection[i,&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;mNewLocationY&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;ushort&lt;/span&gt;)&amp;nbsp;(mLocationY&amp;nbsp;+&amp;nbsp;mDirection[i,&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;]);&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;......&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mNewG = mCalcGrid[mLocation].G + (int) (mGrid[mNewLocationX, mNewLocationY] * 2);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;终于大功告成。当然，&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;中蜂窝结构地图亦并非是十全十美的，其在移动及战斗&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;范围&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;方面的灵活性与趣味性表现相对较差。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;比如，四边形地图可轻松实现十字斩，那么六边形地图呢？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;img height=&quot;410&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/7.jpg&quot; width=&quot;558&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;同时，由于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标方向高低起伏，角色&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;方向的移动会显得特别别扭：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;283&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/8.jpg&quot; width=&quot;340&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;当然，我们是可以通过一些人性化设置来规避这些尴尬的。最经典的以《英雄无敌&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;3&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;》为例，计算好寻路后只需执行起点与终点之间的直线移动即可，而范围攻击则可使用六边形外接圆形式巧取而代之，等等。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;非常值得一提的是，蜂窝拓扑结构基础单元格常用的除了平型(比如前文提到的《天使帝国》)，还有尖形(例如前文提到的《文明》)：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;285&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/9.jpg&quot; width=&quot;590&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;两者的互换只需对单元格素材进行&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;30&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度旋转，同时在坐标转换时将&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;与&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Y&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的位置互换即可：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;354&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/10.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;终于完工了。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;这是一款基于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏引擎的一部分，在线演示&lt;span lang=&quot;EN-US&quot;&gt;Demo &lt;/span&gt;如下&lt;span lang=&quot;EN-US&quot;&gt;(&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo3.rar&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载该Demo&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt&quot; align=&quot;center&quot;&gt;&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;360&quot; width=&quot;600&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAANSUAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwAzAC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
    &lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo3.xap&quot;       /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot;       /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot;       /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot;       /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot;       /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot;       /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
      &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot;       /&gt;
    &lt;/a&gt;     &lt;/object&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;手记小结：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;蜂窝拓扑结构在&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.tup.tsinghua.edu.cn/Resource/tsyz/037744-01.pdf&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;计算&lt;span lang=&quot;EN-US&quot;&gt;机&lt;span lang=&quot;EN-US&quot;&gt;网络概述&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;中有详细讲解，其应用领域亦非常广泛；除游戏外，蜂窝拓扑结构&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;在&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://baike.baidu.com/view/779022.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;无线通信网络技术&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://elec.wanfangdata.com.cn/qikan/periodical.articles/jsjgcysj/jsjg2000/0001/000115.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;图像显示&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://wenku.baidu.com/view/7263f7a3b0717fd5360cdca5.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;地理&lt;span lang=&quot;EN-US&quot;&gt;信息&lt;span lang=&quot;EN-US&quot;&gt;布局&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;等领域都极具优势，非常值得大家深度研究。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;一则令人兴奋的消息：&lt;/span&gt;&lt;span &gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: #ff6600; line-height: 161%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/118723/&quot; target=&quot;_blank&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;微&lt;span lang=&quot;EN-US&quot;&gt;软&lt;span lang=&quot;EN-US&quot;&gt;应用商店(Marketplace)已&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;向中国开发人员开放&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;，&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;同时&lt;/span&gt;&lt;/font&gt;&lt;span &gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://www.ali213.net/news/html/2011-10/24559.html&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;种种&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;迹象&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;证实&lt;span lang=&quot;EN-US&quot;&gt;了&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;微软正在研发下一代XBOX&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;，是的，&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/157749.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;微软&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;正&lt;span lang=&quot;EN-US&quot;&gt;将&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;使用Silverlight&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;开发&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;新一代XBOX&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;程序&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;！有限的生命只需精通最完美的技术足以，或许我们是时候&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/101807/&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;丢掉垃圾&lt;span lang=&quot;EN-US&quot;&gt;，&lt;span lang=&quot;EN-US&quot;&gt;对不需要的技术&lt;span lang=&quot;EN-US&quot;&gt;说&lt;span lang=&quot;EN-US&quot;&gt;&amp;#8220;不&amp;#8221;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;了&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;Let,s focus on Silverlight&lt;/span&gt;！&lt;span lang=&quot;EN-US&quot;&gt;Come on&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2214477.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/10/17/2214477.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>六边形具有“完全充填”和“最具效率”的双重优势，同时亦遵循着自然界最普遍的原理 - 最小作用量原理。游戏中使用六向网格结构比传统四边形网格结构更具立体层次感，且比基于四边八向地形更能体现游戏的公平性，因此其构建的地图最贴近真实世界 - 地理路网拓扑系统</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.45pt; line-height: 150%; mso-char-indent-count: 1.96&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;上一节给大家讲解了如何在四边形单元格基础上构建&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;地图场景，并实现移动、战斗的基础框架；热爱&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;的朋友一定非常清楚，绝大多数的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏地形单元格都可归为四类：四边四向、四边八向和四边六向、六边六向：&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;292&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/13.jpg&quot; width=&quot;274&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.45pt; line-height: 150%; mso-char-indent-count: 1.96&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;粗看，六边六向是其中构建最复杂的地形，它的称谓很多，比如六面网格、六边网格、晶体网格、蜂窝网格等等，不管叫什么，它总能给我们一种严谨而完美的直观印象。这种奇妙的感觉缘何而来？雪花、分子、螺帽、蜂巢、球网、芯片&lt;span lang=&quot;EN-US&quot;&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;在现实生活中，它的身影似乎无处不在。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;319&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/14.jpg&quot; width=&quot;404&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;困惑再一次升级：自然界为何偏偏热衷于复杂？网上的答复让人摸不着头脑，有朋友说六边形结构最省材，有的则说六边形结构最稳定，那难道三角形就不稳定了吗？有的朋友则又说，六边形最牢固且能耗最低，林林种种&lt;span lang=&quot;EN-US&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;于是迫在眉睫的证据让我阅穿百页搜索，一篇&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #323e32; font-family: 宋体; mso-bidi-font-family: 宋体&quot;&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_48bb0d010100ejjl.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;《&amp;#8220;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;天人合一&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&amp;#8221;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;在六边形&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal; mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;里》&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;mso-bidi-font-weight: bold&quot;&gt;使我茅塞顿开：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;基于空间填充原理：在一个平面中，只有正三角形、正四边形、正六边形三种图形可以完全填满平面，即不互相重叠，也不留下空隙。但是在这三种图形中，如果同样的周长，正六边形的面积最大。也就是说，六边形具有&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: 16.5pt; color: red; line-height: 161%&quot;&gt;&amp;#8220;完全填充&amp;#8221;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;和&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: 16.5pt; color: red; line-height: 161%&quot;&gt;&amp;#8220;最具效率&amp;#8221;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;的双重优势。同时亦遵循着自然界最普遍原理&lt;span lang=&quot;EN-US&quot;&gt; - &lt;/span&gt;&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: 16.5pt; color: red; line-height: 161%&quot;&gt;最小作用量原理&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;相当给力！&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;不过，高兴似乎还早了些，&lt;span lang=&quot;EN-US&quot;&gt;Hold&lt;/span&gt;住。难道所有的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏开发者仅仅都因为以上原因而在设计之初选择六边形单元格吗？毫无疑问，非也。游戏，若过分掺杂着教条主义则必将与娱乐背道而驰。要回答这个问题我们还得追溯到&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏的发展史：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;a href=&quot;http://baike.baidu.com/view/534211.htm&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span style=&quot;mso-bidi-font-family: 宋体&quot;&gt;SLG&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;游戏&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;类型&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;是最古老的游戏类型之一，其逻辑AI的复杂性也是所有游戏中最高的。在我的印象中，基于六向的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏最早见于红白机上的《大战略》：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 161%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;img height=&quot;235&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/12.jpg&quot; width=&quot;500&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;游戏中采用了中庸的四边六向单元格，这样的地图布局起来比六边形构造更简单，但效果却一摸一样。日本厂商不乏类似的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;大作，比如&lt;span lang=&quot;EN-US&quot;&gt;3D&lt;/span&gt;的《三国志&lt;span lang=&quot;EN-US&quot;&gt;11&lt;/span&gt;》依旧选择采用这种形式来布局地形：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 161%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;img height=&quot;450&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/11.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28.5pt; line-height: 161%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;当然，市面上六向的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏大多还是采用正统的六边形单元格，比如经典的《天使帝国》和《文明》：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 161%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;img height=&quot;343&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/1.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;line-height: 161%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/0.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28.5pt; line-height: 161%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;到此，我们将以上四部作品与其他采用四边形单元格的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏相比较便会发现，&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: #ff6600&quot;&gt;基于四边形网格的地图具有局限性&lt;/span&gt;&lt;/strong&gt;，从每个单元格的中心到相邻单元格的中心距离不尽相等&lt;span lang=&quot;EN-US&quot;&gt;,&lt;/span&gt;沿纵、横方向上相同&lt;span lang=&quot;EN-US&quot;&gt;,&lt;/span&gt;但不同于对角线方向上的距离，即&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: #ff6600&quot;&gt;对角线移动比直线移动更快&lt;/span&gt;&lt;/strong&gt;，战略上讲这是&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: red&quot;&gt;非常不公平&lt;/span&gt;&lt;/strong&gt;的；而使用六边形网格地图，其&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;放射对称性原理&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;（单元格中心到所有方向上的相邻单元格中心点的距离均相等）使得游戏更加&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;真实&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;与&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;严谨&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;，此类游戏尤其能体现单位与临接单位之间的&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;绝对公平的相互作用关系&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;。&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;综合以上分析得出：正六边形单元格是最饱满，且边、角交汇最省的单元格，加上前文所述完全填充且最具效率的双重优势，游戏中使用六向&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://baike.baidu.com/view/82343.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: windowtext; text-decoration: none; mso-bidi-font-family: 宋体; text-underline: none&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;网格&lt;span lang=&quot;EN-US&quot;&gt;结构&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;font face=&quot;宋体&quot;&gt;比传统四边形网格结构更具&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;立体层次感&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;，且比基于四边八向地形更能体现游戏的&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;公平性&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;，因此其构建的地图最&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;贴近真实世界&lt;span lang=&quot;EN-US&quot;&gt; - &lt;/span&gt;地理路网拓扑系统&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;云开见日，有了以上的理论依据，接下来我们便可将真实世界的地理路网映射到游戏中，&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: red&quot;&gt;抽象成基于六边形蜂窝拓扑结构的战略地图&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;449&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/2.jpg&quot; width=&quot;480&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; text-align: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;开始动手吧，打开&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/09/21/2184260.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;上一节&lt;span lang=&quot;EN-US&quot;&gt;的&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; mso-bidi-font-family: 宋体&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，我们首先要做的就是修改将游戏坐标转换成窗口像素位置的方法&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(GetPositionFromCoordinate())&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，这个算法怎么改？似乎还找不着头绪。按照上图布局，我们不妨先做个例枚举，然后通过分析找出其中规律所在。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;不难看出，虽然每个单元格都拥有六方向，但它们的坐标同样基于二维的&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X,Y&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;构成，大体看来，&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Y&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标是连续的，&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标则是规律起伏的。接下来我们进一步明确，六边形地砖的铺设&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;拼接&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;是以左上角最大宽、高作处作为起点&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;167&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/5.jpg&quot; width=&quot;330&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;假设&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;单元格的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，那么&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,1)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,2)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,1)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,2)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;(2,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,1)&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,2)&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的像素坐标分别是多少？？&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;491&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/4.jpg&quot; width=&quot;541&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; text-align: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如上图，坐标为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的六边形单元格，其铺设位置起点为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;O&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;点；坐标为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的六边形单元格，其铺设位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;M&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;点；而坐标为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,1)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的六边形单元格，其铺设位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;N&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;点，以此类推。于是，我们要分别得到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;O&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;M&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;N&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的像素位置，则必须知道正六边形的边长以及&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;a&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的长度值：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;554&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/3.jpg&quot; width=&quot;564&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;假设正六边形地砖的边长为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;L&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，根据三角形内角和为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;180&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度，则六边形内角和为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;720&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度，那么正六边形每个角为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;120&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度，于是可以得到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;与&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;L&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的夹角为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;30&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度。根据三角函数公式可知&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;L&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;a&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;之间的转换公式如下：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;a = L * Sin 30&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&amp;#176;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b = L * Cos30&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&amp;#176;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;同时，我们分别对&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;至&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,2)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;这九个单元格进行枚举，会发现如下规律：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0) &lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,1)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,2b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,2)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(0,4b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,0)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(a+L,b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,1)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(a+L,2b+b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(1,2)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(a+L,4b+b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,0)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2*(a+L),0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,1)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2*(a+L),2b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2,2)&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(2*(a+L),4b)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;依次类推&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;是不是开始有些激动了？其实重点就在于&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: red&quot;&gt;当坐标&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: red&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; color: red; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;为奇数时，&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: red&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Y&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; color: red; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;多加一个&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: red&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;b&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; color: red; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;值&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;。假如坐标为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(X,Y)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的六边形单元格，其所对应的窗口像素位置为&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(A,B)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，则&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;A=X*L*(1+Sin30)&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;，&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;B=(Y*2+X%2)*L*Cos30&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; text-align: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;最后转换成&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;编程语言，&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;GetPositionFromCoordinate()&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;方法修改如下：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;获取窗口Canvas中的位置Position(通过空间坐标系中的坐标Coordinate换算而来)&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&amp;nbsp;Point&amp;nbsp;GetPositionFromCoordinate(Point&amp;nbsp;p)&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 style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&amp;nbsp;radian30&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;30&lt;/span&gt;&amp;nbsp;*&amp;nbsp;Math.PI&amp;nbsp;/&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;180&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;p.X&amp;nbsp;*&amp;nbsp;GridSide&amp;nbsp;*&amp;nbsp;(&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;+&amp;nbsp;Math.Sin(radian30));&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;(p.Y&amp;nbsp;*&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&amp;nbsp;+&amp;nbsp;p.X&amp;nbsp;%&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;GridSide&amp;nbsp;*&amp;nbsp;Math.Cos(radian30);&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&amp;nbsp;TileType&amp;nbsp;==&amp;nbsp;TileTypes.Flat&amp;nbsp;?&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point(x,&amp;nbsp;y)&amp;nbsp;:&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point(y,&amp;nbsp;x);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;如此大的周折也仅仅是完成了蜂窝拓扑结构地砖铺设而&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;已，下一个任务便是修改角色的移动范围算法；有了前面详尽的分析，这道工序相对简单了很多。基于上一节四叉树遍历算法基础上我们进行如下修改：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;RangeScan(Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;tempList,&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;rangeList,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;moveLimit)&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;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;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 style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;tempList.Count;&amp;nbsp;i++)&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;KeyValuePair&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;kvp&amp;nbsp;=&amp;nbsp;tempList.ElementAt(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X,&amp;nbsp;kvp.Key.Y&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X,&amp;nbsp;kvp.Key.Y&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(kvp.Key.X&amp;nbsp;%&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;else&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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 style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&amp;nbsp;result;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;完了吗？还没，最关键的时刻到了，上一节的&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法只能满足四向或八向寻路，如何实现六向寻路&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法？重写一个？&lt;span lang=&quot;EN-US&quot;&gt;NO&lt;/span&gt;，其实我们只需对方向遍历模块进行修改，使之变成六向检索，且每个单元格的移动消耗设置一致即可：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;img height=&quot;233&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/6.jpg&quot; width=&quot;568&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;以&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法中的&lt;span lang=&quot;EN-US&quot;&gt;PathFinderFast&lt;/span&gt;为例，修为内容如下：&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('8a2c9f2d-69a0-4136-8470-d9317db95700')&quot;&gt;&lt;img  id=&quot;code_img_opened_8a2c9f2d-69a0-4136-8470-d9317db95700&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('8a2c9f2d-69a0-4136-8470-d9317db95700',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt; 
&lt;div  id=&quot;cnblogs_code_open_8a2c9f2d-69a0-4136-8470-d9317db95700&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(mLocationX&amp;nbsp;%&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;)&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;mDirection&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;sbyte&lt;/span&gt;[&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;]&amp;nbsp;{&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&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;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mDirection&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;sbyte&lt;/span&gt;[&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;]&amp;nbsp;{&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;-&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&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;&lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i=&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;lt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;;&amp;nbsp;i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;mNewLocationX&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;ushort&lt;/span&gt;)&amp;nbsp;(mLocationX&amp;nbsp;+&amp;nbsp;mDirection[i,&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;mNewLocationY&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;ushort&lt;/span&gt;)&amp;nbsp;(mLocationY&amp;nbsp;+&amp;nbsp;mDirection[i,&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;]);&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;......&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mNewG = mCalcGrid[mLocation].G + (int) (mGrid[mNewLocationX, mNewLocationY] * 2);&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;终于大功告成。当然，&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;中蜂窝结构地图亦并非是十全十美的，其在移动及战斗&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;范围&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;方面的灵活性与趣味性表现相对较差。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;比如，四边形地图可轻松实现十字斩，那么六边形地图呢？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;img height=&quot;410&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/7.jpg&quot; width=&quot;558&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;同时，由于&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;坐标方向高低起伏，角色&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;方向的移动会显得特别别扭：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;283&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/8.jpg&quot; width=&quot;340&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;当然，我们是可以通过一些人性化设置来规避这些尴尬的。最经典的以《英雄无敌&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;3&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;》为例，计算好寻路后只需执行起点与终点之间的直线移动即可，而范围攻击则可使用六边形外接圆形式巧取而代之，等等。&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;非常值得一提的是，蜂窝拓扑结构基础单元格常用的除了平型(比如前文提到的《天使帝国》)，还有尖形(例如前文提到的《文明》)：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;285&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/9.jpg&quot; width=&quot;590&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;两者的互换只需对单元格素材进行&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;30&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;度旋转，同时在坐标转换时将&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;X&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;与&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Y&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;的位置互换即可：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt&quot;&gt;&lt;img height=&quot;354&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20111017/10.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;终于完工了。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;这是一款基于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏引擎的一部分，在线演示&lt;span lang=&quot;EN-US&quot;&gt;Demo &lt;/span&gt;如下&lt;span lang=&quot;EN-US&quot;&gt;(&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo3.rar&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载该Demo&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt&quot; align=&quot;center&quot;&gt;&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;360&quot; width=&quot;600&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAANSUAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwAzAC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
    &lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo3.xap&quot;       /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot;       /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot;       /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot;       /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot;       /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot;       /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
      &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot;       /&gt;
    &lt;/a&gt;     &lt;/object&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'&quot;&gt;手记小结：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;蜂窝拓扑结构在&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.tup.tsinghua.edu.cn/Resource/tsyz/037744-01.pdf&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-bidi-font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;计算&lt;span lang=&quot;EN-US&quot;&gt;机&lt;span lang=&quot;EN-US&quot;&gt;网络概述&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;中有详细讲解，其应用领域亦非常广泛；除游戏外，蜂窝拓扑结构&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-font-kerning: 0pt&quot;&gt;在&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://baike.baidu.com/view/779022.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;无线通信网络技术&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;、&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://elec.wanfangdata.com.cn/qikan/periodical.articles/jsjgcysj/jsjg2000/0001/000115.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;图像显示&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://wenku.baidu.com/view/7263f7a3b0717fd5360cdca5.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;地理&lt;span lang=&quot;EN-US&quot;&gt;信息&lt;span lang=&quot;EN-US&quot;&gt;布局&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;等领域都极具优势，非常值得大家深度研究。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-indent: 28pt; line-height: 161%; mso-char-indent-count: 2.0&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;一则令人兴奋的消息：&lt;/span&gt;&lt;span &gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; color: #ff6600; line-height: 161%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/118723/&quot; target=&quot;_blank&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;微&lt;span lang=&quot;EN-US&quot;&gt;软&lt;span lang=&quot;EN-US&quot;&gt;应用商店(Marketplace)已&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;向中国开发人员开放&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;，&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;同时&lt;/span&gt;&lt;/font&gt;&lt;span &gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 161%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://www.ali213.net/news/html/2011-10/24559.html&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;种种&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;迹象&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;证实&lt;span lang=&quot;EN-US&quot;&gt;了&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;微软正在研发下一代XBOX&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 161%&quot;&gt;&lt;font face=&quot;宋体&quot;&gt;，是的，&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/157749.htm&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;微软&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;正&lt;span lang=&quot;EN-US&quot;&gt;将&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;使用Silverlight&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;开发&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;新一代XBOX&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff6600&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;程序&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;！有限的生命只需精通最完美的技术足以，或许我们是时候&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/101807/&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;丢掉垃圾&lt;span lang=&quot;EN-US&quot;&gt;，&lt;span lang=&quot;EN-US&quot;&gt;对不需要的技术&lt;span lang=&quot;EN-US&quot;&gt;说&lt;span lang=&quot;EN-US&quot;&gt;&amp;#8220;不&amp;#8221;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;了&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;Let,s focus on Silverlight&lt;/span&gt;！&lt;span lang=&quot;EN-US&quot;&gt;Come on&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2214477.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/10/17/2214477.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Mon, 17 Oct 2011 00:24:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/10/17/2214477.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Silverlight游戏研发手记：(二)四叉树遍历与人工智能A*算法在SLG移动路径范围测算中的应用</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/09/21/2184260.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 除战斗范围设定外，说到&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;中最有趣而经典的算法莫过于角色可移动范围的测算与寻路。当前成熟的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;商业游戏中，以《火焰纹章》、《高级大战争》等系列新作为代表，它们在传统的基础上将可移动范围进行了拓展，组合上攻击范围并配合移动指向路径箭头，使得整场战局每个&amp;#8220;棋子&amp;#8221;的操控感受和趣味性都无与伦比。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; stroked=&quot;f&quot; filled=&quot;f&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; coordsize=&quot;21600,21600&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype=&quot;rect&quot; gradientshapeok=&quot;t&quot; o:extrusionok=&quot;f&quot;&gt;&lt;/v:path&gt;&lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;200&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110921/0.jpg&quot; width=&quot;540&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;SLG&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;角色移动从程序设计的角度可大致分为&lt;span lang=&quot;EN-US&quot;&gt;3&lt;/span&gt;个步骤：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;）呈现可移动路径范围&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;）确定移动目的地单元格&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;）沿着路径移动到目的地&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;以四向为基础的&lt;span lang=&quot;EN-US&quot;&gt;Silverlight 2D SLG&lt;/span&gt;游戏，我们首先想到的当然是采用四叉树遍历算法来实现其中的角色可移动路径范围测算。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;不要被它的行头所吓到，其实它只是一种很简单的四向延展循环遍历，我们不妨先来看下图：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;930&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110921/1.jpg&quot; width=&quot;280&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;每个角色以其所处的格子&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;坐标&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;为中心，第一步可移动的格子只有：北、东、南、西；那么要测算其可移动范围，首先得分析周围这&lt;span lang=&quot;EN-US&quot;&gt;4&lt;/span&gt;个格子角色是否可以移动到，其中判断的依据有地形矩阵边界、机动力极限（或四叉树深度）以及地形机动力消耗等元素；如果判断为可行，则将此格子进行标记&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;存储进可移动范围&lt;span lang=&quot;EN-US&quot;&gt;List&amp;lt;Point&amp;gt;&lt;/span&gt;表中&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;；接下来再以同样的步骤，分别以这些被标记过的格子为中心，继续四向延伸遍历&lt;span lang=&quot;EN-US&quot;&gt; (&lt;/span&gt;以减去当前单元格机动力消耗为基础&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;；额外的，此时除了判断是否可以移动外，还需判断子节点是否有效&lt;span lang=&quot;EN-US&quot;&gt;(List&lt;/span&gt;中是否存在重复，如果重复哪一个Path的机动力消耗最小则替换掉，&lt;span lang=&quot;EN-US&quot;&gt;Path&lt;/span&gt;是否回头等逻辑&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。于是，最终我们可以得出类似如下算法：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&amp;nbsp;ShowPathRange(Sprite&amp;nbsp;sprite)&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;sprite.PathRange.Clear();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ClearAllRange();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;rangeList&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;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;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;tempList&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;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;Point2D&amp;nbsp;center&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D((&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)sprite.Coordinate.X,&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)sprite.Coordinate.Y);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rangeList.Add(center,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;tempList.Add(center,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;countPoint&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;while&lt;/span&gt;&amp;nbsp;(countPoint&amp;nbsp;&amp;lt;&amp;nbsp;sprite.Mov)&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;tempList&amp;nbsp;=&amp;nbsp;RangeScan(tempList,&amp;nbsp;rangeList,&amp;nbsp;sprite.Mov);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;countPoint++;&lt;br /&gt;&amp;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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;绘制所有格子&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;&lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;rangeList.Count;&amp;nbsp;i++)&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;Point&amp;nbsp;p&amp;nbsp;=&amp;nbsp;rangeList.ElementAt(i).Key.ToPoint();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sprite.PathRange.Add(p);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EntityObject&amp;nbsp;box&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;EntityObject()&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;Source&amp;nbsp;=&amp;nbsp;GetImage(&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;MoveBox.png&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&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;Position&amp;nbsp;=&amp;nbsp;GetPositionFromCoordinate(p),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;pathRangeSystem.Children.Add(box);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MouseButtonEventHandler&amp;nbsp;handler=&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&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;box.MouseLeftButtonDown&amp;nbsp;+=&amp;nbsp;handler&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box.MouseLeftButtonDown&amp;nbsp;-=&amp;nbsp;handler;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sprite.MoveTo(p,&amp;nbsp;Matrix);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;RangeScan(Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;tempList,&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;rangeList,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;moveLimit)&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;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;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 style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;tempList.Count;&amp;nbsp;i++)&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;KeyValuePair&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;kvp&amp;nbsp;=&amp;nbsp;tempList.ElementAt(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X,&amp;nbsp;kvp.Key.Y&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;北&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;东&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X,&amp;nbsp;kvp.Key.Y&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;南&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;西&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;}&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&amp;nbsp;result;&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 style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&amp;nbsp;DirectionScan(Point2D&amp;nbsp;direction,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;matrix,&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;tempList,&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;range,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;moveLimit)&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 style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(!range.ContainsKey(direction)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;IsEffectivelyCoordinate(direction)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;Matrix[direction.X,&amp;nbsp;direction.Y]&amp;nbsp;!=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;value&amp;nbsp;=&amp;nbsp;matrix&amp;nbsp;+&amp;nbsp;Matrix[direction.X,&amp;nbsp;direction.Y];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(value&amp;nbsp;&amp;lt;=&amp;nbsp;moveLimit)&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; if (!tempList.ContainsKey(direction)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempList.Add(direction, value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (value &amp;lt; tempList[direction]) { //各方向到达同一地点，只取最小机动力消耗&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempList[direction] = value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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; if (!range.ContainsKey(direction)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; range.Add(direction, value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt;&amp;nbsp;IsEffectivelyCoordinate(Point2D&amp;nbsp;p)&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 style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&amp;nbsp;p.X&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;p.Y&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;p.X&amp;nbsp;&amp;lt;&amp;nbsp;dimension&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;p.Y&amp;nbsp;&amp;lt;&amp;nbsp;dimension&amp;nbsp;?&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;顺便说明一下，&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;地形设计千变万化，本节中我仅仅设置了&lt;span lang=&quot;EN-US&quot;&gt;5&lt;/span&gt;种地形：障碍&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;无法通行&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;、平原&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;草地&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;1)&lt;/span&gt;、森林&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;丘陵&lt;span lang=&quot;EN-US&quot;&gt; (&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;2)&lt;/span&gt;、沙漠&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;沼泽&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;3)&lt;/span&gt;、山地&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;4)&lt;/span&gt;、河流&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;5)&lt;/span&gt;等，其枚举如下（对应的枚举值也是该地形的机动力消耗，当然实际情况要比这复杂，比如不同地形相同机动力消耗等）：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;地形类型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;enum&lt;/span&gt;&amp;nbsp;TerrainTypes&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Obstacle&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ground&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Forest&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Desert&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;3&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snow&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;当我们计算并呈现完角色可移动范围后，接下来玩家便需要指挥角色向目标位置移动，人工智能&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法又一次的派上了用场；&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;中我们可以通过创建&lt;span lang=&quot;EN-US&quot;&gt;Storyboard&lt;/span&gt;关键帧动画的简单形式配合上&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法得到的&lt;span lang=&quot;EN-US&quot;&gt;Path&lt;/span&gt;路径点轻松实现非对角线式的角色寻路移动（其中的&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;代码为国外高人编写，可参考我曾写过的&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505339.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;一篇文章&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;，本文就不再班门弄斧了）。：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('c70fdb48-a6b8-45a6-babe-63eb6305122c')&quot;&gt;&lt;img  id=&quot;code_img_opened_c70fdb48-a6b8-45a6-babe-63eb6305122c&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('c70fdb48-a6b8-45a6-babe-63eb6305122c',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt; 
&lt;div  id=&quot;cnblogs_code_open_c70fdb48-a6b8-45a6-babe-63eb6305122c&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;A*寻路向目的地移动&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&amp;nbsp;MoveTo(Point&amp;nbsp;destination,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;[,]&amp;nbsp;matrix)&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;PathFinderFast&amp;nbsp;pathFinderFast&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PathFinderFast(matrix)&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;Diagonals&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&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;HeuristicEstimate&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&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;SearchLimit&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1000&lt;/span&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;List&amp;lt;PathFinderNode&amp;gt;&amp;nbsp;path&amp;nbsp;=&amp;nbsp;pathFinderFast.FindPath(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D()&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;X&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)Coordinate.X,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)Coordinate.Y&lt;br /&gt;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D()&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;X&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)destination.X,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)destination.Y&lt;br /&gt;&amp;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 style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(path&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&amp;nbsp;||&amp;nbsp;path.Count&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;路径不存在&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;&lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&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;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PointAnimationUsingKeyFrames&amp;nbsp;pointAnimationUsingKeyFrames&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PointAnimationUsingKeyFrames()&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;Duration&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Duration(TimeSpan.FromMilliseconds((path.Count&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;speed))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;Storyboard.SetTarget(pointAnimationUsingKeyFrames,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&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;Storyboard.SetTargetProperty(pointAnimationUsingKeyFrames,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PropertyPath(&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Coordinate&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;匀速关键帧&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;&lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;path.Count&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i--)&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;pointAnimationUsingKeyFrames.KeyFrames.Add(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;LinearPointKeyFrame()&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;&amp;nbsp;KeyTime&amp;nbsp;=&amp;nbsp;KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds((path.Count&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;-&amp;nbsp;i)&amp;nbsp;*&amp;nbsp;speed)),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point(path[i].X,&amp;nbsp;path[i].Y)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Pause();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Completed&amp;nbsp;-=&amp;nbsp;storyboard_Completed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Storyboard();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Children.Add(pointAnimationUsingKeyFrames);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Completed&amp;nbsp;+=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;EventHandler(storyboard_Completed);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Begin();&lt;br /&gt;&amp;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;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;img height=&quot;460&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110921/2.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;这是一款基于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏引擎的一部分，在线演示&lt;span lang=&quot;EN-US&quot;&gt;Demo &lt;/span&gt;如下&lt;span lang=&quot;EN-US&quot;&gt;(&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo2.rar&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载该Demo&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;，大家不妨刷刷怪和地形，然后移动角色试试，非常有趣：&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; mso-char-indent-count: 2.0&quot; align=&quot;center&quot;&gt;&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;360&quot; width=&quot;600&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAANSUAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwAyAC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
    &lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo2.xap&quot;  /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot;  /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot;  /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot;  /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot;  /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot;  /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
      &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot;  /&gt;
    &lt;/a&gt;     &lt;/object&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;手记感悟：回想之前曾写过的一个&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2010/03/18/1689170.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;三国策的SLG Demo&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;，为了省事，当时写的移动范围算法其实是错误的；大量测试证明，&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;中的移动范围不能使用&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;寻路算法替代，虽然看上去似乎减少了工作量，但实际操作过程中你会发现对可及范围所有格子都使用一次&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法极其消耗性能；另外，就目前我所用到的&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法来说，根本就无法正确显示角色的可移动范围&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;由于&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法原理所致&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;，要么漏掉几格，要么多出几格，越是复杂且障碍物无规律的地形表现越突出。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;手记小结：通过四叉树遍历算法可以很有趣的将&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏角色可移动范围形象化、直观化，此算法的实现和优化无止尽，仁者见仁智者见智，期待您更优秀的实现，让思维的创新来得更猛烈些吧！&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2184260.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/09/21/2184260.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>除战斗范围设定外，说到SLG中最有趣而经典的算法莫过于角色可移动范围的测算与寻路。当前成熟的SLG商业游戏中，以《火焰纹章》、《高级大战争》等系列新作为代表，它们在传统的基础上将可移动范围进行了拓展，组合上攻击范围并配合移动指向路径箭头，使得整场战局每个“棋子”的操控感受和趣味性都无与伦比。</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 除战斗范围设定外，说到&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;中最有趣而经典的算法莫过于角色可移动范围的测算与寻路。当前成熟的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;商业游戏中，以《火焰纹章》、《高级大战争》等系列新作为代表，它们在传统的基础上将可移动范围进行了拓展，组合上攻击范围并配合移动指向路径箭头，使得整场战局每个&amp;#8220;棋子&amp;#8221;的操控感受和趣味性都无与伦比。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; stroked=&quot;f&quot; filled=&quot;f&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; coordsize=&quot;21600,21600&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype=&quot;rect&quot; gradientshapeok=&quot;t&quot; o:extrusionok=&quot;f&quot;&gt;&lt;/v:path&gt;&lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;200&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110921/0.jpg&quot; width=&quot;540&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;SLG&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;角色移动从程序设计的角度可大致分为&lt;span lang=&quot;EN-US&quot;&gt;3&lt;/span&gt;个步骤：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;）呈现可移动路径范围&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;）确定移动目的地单元格&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;）沿着路径移动到目的地&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;以四向为基础的&lt;span lang=&quot;EN-US&quot;&gt;Silverlight 2D SLG&lt;/span&gt;游戏，我们首先想到的当然是采用四叉树遍历算法来实现其中的角色可移动路径范围测算。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;不要被它的行头所吓到，其实它只是一种很简单的四向延展循环遍历，我们不妨先来看下图：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;930&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110921/1.jpg&quot; width=&quot;280&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;每个角色以其所处的格子&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;坐标&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;为中心，第一步可移动的格子只有：北、东、南、西；那么要测算其可移动范围，首先得分析周围这&lt;span lang=&quot;EN-US&quot;&gt;4&lt;/span&gt;个格子角色是否可以移动到，其中判断的依据有地形矩阵边界、机动力极限（或四叉树深度）以及地形机动力消耗等元素；如果判断为可行，则将此格子进行标记&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;存储进可移动范围&lt;span lang=&quot;EN-US&quot;&gt;List&amp;lt;Point&amp;gt;&lt;/span&gt;表中&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;；接下来再以同样的步骤，分别以这些被标记过的格子为中心，继续四向延伸遍历&lt;span lang=&quot;EN-US&quot;&gt; (&lt;/span&gt;以减去当前单元格机动力消耗为基础&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;；额外的，此时除了判断是否可以移动外，还需判断子节点是否有效&lt;span lang=&quot;EN-US&quot;&gt;(List&lt;/span&gt;中是否存在重复，如果重复哪一个Path的机动力消耗最小则替换掉，&lt;span lang=&quot;EN-US&quot;&gt;Path&lt;/span&gt;是否回头等逻辑&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。于是，最终我们可以得出类似如下算法：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&amp;nbsp;ShowPathRange(Sprite&amp;nbsp;sprite)&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;sprite.PathRange.Clear();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ClearAllRange();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;rangeList&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;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;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;tempList&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;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;Point2D&amp;nbsp;center&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D((&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)sprite.Coordinate.X,&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)sprite.Coordinate.Y);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rangeList.Add(center,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;tempList.Add(center,&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;countPoint&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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 style=&quot;color: #0000ff&quot;&gt;while&lt;/span&gt;&amp;nbsp;(countPoint&amp;nbsp;&amp;lt;&amp;nbsp;sprite.Mov)&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;tempList&amp;nbsp;=&amp;nbsp;RangeScan(tempList,&amp;nbsp;rangeList,&amp;nbsp;sprite.Mov);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;countPoint++;&lt;br /&gt;&amp;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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;绘制所有格子&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;&lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;rangeList.Count;&amp;nbsp;i++)&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;Point&amp;nbsp;p&amp;nbsp;=&amp;nbsp;rangeList.ElementAt(i).Key.ToPoint();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sprite.PathRange.Add(p);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EntityObject&amp;nbsp;box&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;EntityObject()&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;Source&amp;nbsp;=&amp;nbsp;GetImage(&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;MoveBox.png&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&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;Position&amp;nbsp;=&amp;nbsp;GetPositionFromCoordinate(p),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;pathRangeSystem.Children.Add(box);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MouseButtonEventHandler&amp;nbsp;handler=&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&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;box.MouseLeftButtonDown&amp;nbsp;+=&amp;nbsp;handler&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box.MouseLeftButtonDown&amp;nbsp;-=&amp;nbsp;handler;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sprite.MoveTo(p,&amp;nbsp;Matrix);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;RangeScan(Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;tempList,&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;rangeList,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;moveLimit)&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;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;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 style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;tempList.Count;&amp;nbsp;i++)&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;KeyValuePair&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;kvp&amp;nbsp;=&amp;nbsp;tempList.ElementAt(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X,&amp;nbsp;kvp.Key.Y&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;北&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;东&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X,&amp;nbsp;kvp.Key.Y&amp;nbsp;+&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;南&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;DirectionScan(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D(kvp.Key.X&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;,&amp;nbsp;kvp.Key.Y),&amp;nbsp;kvp.Value,&amp;nbsp;result,&amp;nbsp;rangeList,&amp;nbsp;moveLimit);&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;西&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;}&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&amp;nbsp;result;&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 style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&amp;nbsp;DirectionScan(Point2D&amp;nbsp;direction,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;matrix,&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;tempList,&amp;nbsp;Dictionary&amp;lt;Point2D,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;gt;&amp;nbsp;range,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;moveLimit)&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 style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(!range.ContainsKey(direction)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;IsEffectivelyCoordinate(direction)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;Matrix[direction.X,&amp;nbsp;direction.Y]&amp;nbsp;!=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;value&amp;nbsp;=&amp;nbsp;matrix&amp;nbsp;+&amp;nbsp;Matrix[direction.X,&amp;nbsp;direction.Y];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(value&amp;nbsp;&amp;lt;=&amp;nbsp;moveLimit)&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; if (!tempList.ContainsKey(direction)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempList.Add(direction, value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (value &amp;lt; tempList[direction]) { //各方向到达同一地点，只取最小机动力消耗&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempList[direction] = value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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; if (!range.ContainsKey(direction)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; range.Add(direction, value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt;&amp;nbsp;IsEffectivelyCoordinate(Point2D&amp;nbsp;p)&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 style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&amp;nbsp;p.X&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;p.Y&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;p.X&amp;nbsp;&amp;lt;&amp;nbsp;dimension&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;p.Y&amp;nbsp;&amp;lt;&amp;nbsp;dimension&amp;nbsp;?&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;顺便说明一下，&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;地形设计千变万化，本节中我仅仅设置了&lt;span lang=&quot;EN-US&quot;&gt;5&lt;/span&gt;种地形：障碍&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;无法通行&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;、平原&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;草地&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;1)&lt;/span&gt;、森林&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;丘陵&lt;span lang=&quot;EN-US&quot;&gt; (&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;2)&lt;/span&gt;、沙漠&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;沼泽&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;3)&lt;/span&gt;、山地&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;4)&lt;/span&gt;、河流&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;机动力消耗&lt;span lang=&quot;EN-US&quot;&gt;5)&lt;/span&gt;等，其枚举如下（对应的枚举值也是该地形的机动力消耗，当然实际情况要比这复杂，比如不同地形相同机动力消耗等）：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;地形类型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;enum&lt;/span&gt;&amp;nbsp;TerrainTypes&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Obstacle&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ground&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Forest&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Desert&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;3&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snow&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;当我们计算并呈现完角色可移动范围后，接下来玩家便需要指挥角色向目标位置移动，人工智能&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法又一次的派上了用场；&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;中我们可以通过创建&lt;span lang=&quot;EN-US&quot;&gt;Storyboard&lt;/span&gt;关键帧动画的简单形式配合上&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法得到的&lt;span lang=&quot;EN-US&quot;&gt;Path&lt;/span&gt;路径点轻松实现非对角线式的角色寻路移动（其中的&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;代码为国外高人编写，可参考我曾写过的&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505339.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;一篇文章&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;，本文就不再班门弄斧了）。：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('c70fdb48-a6b8-45a6-babe-63eb6305122c')&quot;&gt;&lt;img  id=&quot;code_img_opened_c70fdb48-a6b8-45a6-babe-63eb6305122c&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('c70fdb48-a6b8-45a6-babe-63eb6305122c',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt; 
&lt;div  id=&quot;cnblogs_code_open_c70fdb48-a6b8-45a6-babe-63eb6305122c&quot;&gt;
&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;A*寻路向目的地移动&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&amp;nbsp;MoveTo(Point&amp;nbsp;destination,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;[,]&amp;nbsp;matrix)&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;PathFinderFast&amp;nbsp;pathFinderFast&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PathFinderFast(matrix)&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;Diagonals&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&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;HeuristicEstimate&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&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;SearchLimit&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1000&lt;/span&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;List&amp;lt;PathFinderNode&amp;gt;&amp;nbsp;path&amp;nbsp;=&amp;nbsp;pathFinderFast.FindPath(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D()&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;X&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)Coordinate.X,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)Coordinate.Y&lt;br /&gt;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point2D()&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;X&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)destination.X,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y&amp;nbsp;=&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;)destination.Y&lt;br /&gt;&amp;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 style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&amp;nbsp;(path&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&amp;nbsp;||&amp;nbsp;path.Count&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;路径不存在&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;&lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&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;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PointAnimationUsingKeyFrames&amp;nbsp;pointAnimationUsingKeyFrames&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PointAnimationUsingKeyFrames()&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;Duration&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Duration(TimeSpan.FromMilliseconds((path.Count&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;speed))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;Storyboard.SetTarget(pointAnimationUsingKeyFrames,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&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;Storyboard.SetTargetProperty(pointAnimationUsingKeyFrames,&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;PropertyPath(&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Coordinate&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&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 style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;匀速关键帧&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&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;&lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;path.Count&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i--)&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;pointAnimationUsingKeyFrames.KeyFrames.Add(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;LinearPointKeyFrame()&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;&amp;nbsp;KeyTime&amp;nbsp;=&amp;nbsp;KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds((path.Count&amp;nbsp;-&amp;nbsp;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&amp;nbsp;-&amp;nbsp;i)&amp;nbsp;*&amp;nbsp;speed)),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Point(path[i].X,&amp;nbsp;path[i].Y)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Pause();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Completed&amp;nbsp;-=&amp;nbsp;storyboard_Completed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;Storyboard();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Children.Add(pointAnimationUsingKeyFrames);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Completed&amp;nbsp;+=&amp;nbsp;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&amp;nbsp;EventHandler(storyboard_Completed);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Begin();&lt;br /&gt;&amp;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;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;&lt;img height=&quot;460&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110921/2.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; font-family: 宋体&quot;&gt;这是一款基于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏引擎的一部分，在线演示&lt;span lang=&quot;EN-US&quot;&gt;Demo &lt;/span&gt;如下&lt;span lang=&quot;EN-US&quot;&gt;(&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo2.rar&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载该Demo&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;，大家不妨刷刷怪和地形，然后移动角色试试，非常有趣：&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; mso-char-indent-count: 2.0&quot; align=&quot;center&quot;&gt;&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;360&quot; width=&quot;600&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAADPgAANSUAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwAyAC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
    &lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo2.xap&quot;  /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot;  /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot;  /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot;  /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot;  /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot;  /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
      &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot;  /&gt;
    &lt;/a&gt;     &lt;/object&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;手记感悟：回想之前曾写过的一个&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2010/03/18/1689170.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;三国策的SLG Demo&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;，为了省事，当时写的移动范围算法其实是错误的；大量测试证明，&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;中的移动范围不能使用&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;寻路算法替代，虽然看上去似乎减少了工作量，但实际操作过程中你会发现对可及范围所有格子都使用一次&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法极其消耗性能；另外，就目前我所用到的&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法来说，根本就无法正确显示角色的可移动范围&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;由于&lt;span lang=&quot;EN-US&quot;&gt;A*&lt;/span&gt;算法原理所致&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;，要么漏掉几格，要么多出几格，越是复杂且障碍物无规律的地形表现越突出。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;手记小结：通过四叉树遍历算法可以很有趣的将&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏角色可移动范围形象化、直观化，此算法的实现和优化无止尽，仁者见仁智者见智，期待您更优秀的实现，让思维的创新来得更猛烈些吧！&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2184260.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/09/21/2184260.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Wed, 21 Sep 2011 17:28:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/09/21/2184260.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Silverlight游戏研发手记：(一)差集运算在SLG战斗范围设定中的应用</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/08/19/2146373.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 29.6pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; letter-spacing: 0.4pt&quot;&gt;战棋游戏通常指以回合制为基础，角色在地图上按格移动作战的游戏，好比下棋一样，该类型游戏更侧重于策略，节奏较缓慢，注重精美、绚丽的画面，考验的是玩家运筹全局的智慧。耳熟能详的比如&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;《梦幻模拟战》、《火焰纹章》、《大战略》、《炎龙骑士团》、《幻世录》等&lt;span style=&quot;letter-spacing: 0.4pt&quot;&gt;经典&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;战棋游戏占据了我太多记忆，每次看到类似的游戏都会激动不已，尤其是远距离攻击类型的弓箭手和魔法师，战局扭转往往就在一步之间。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;今天，作为一名游戏开发者，当技术与思想逐步成熟，理想似乎已不再是那么的遥不可及。以&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;战棋游戏战斗范围为例，我们可以巧妙的通过集合运算来实现几乎所有你能想到的角色战斗范围设定。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;动手前我们不妨先看一下《曹操传》中所有的战斗范围图例：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;521&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/0.jpg&quot; width=&quot;484&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;见到此类素材大家会否觉得实在亲切。没错，就是我们小时候读书最常玩的找规律数学题。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;既然要找出规律，那么就得先分析出其中的共性与变化。最直接的共性便是所有的格子均是&amp;#8220;对称&amp;#8221;的；而发生变化的则是某些图例似乎都被&amp;#8220;挖&amp;#8221;去了一些；再往下想，这些被&amp;#8220;挖&amp;#8221;掉的格子同样也是&amp;#8220;对称&amp;#8221;的。由此，基于集合的差集运算第一时间浮现在脑海。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;规律把握的是否正确离不开证明过程，接下来我们随便以上图中任意几个图例为例加以验证：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;76&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/1.jpg&quot; width=&quot;340&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;76&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/2.jpg&quot; width=&quot;340&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;76&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/3.jpg&quot; width=&quot;340&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;是不是开始有些激动了？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;最后的总结：所有&amp;#8220;对称&amp;#8221;的战斗范围都可以是基于某种规律&lt;span lang=&quot;EN-US&quot;&gt;N&lt;/span&gt;格长度的范围与基于另一种规律&lt;span lang=&quot;EN-US&quot;&gt;M&lt;/span&gt;格长度范围的差集，其中这两种规律可以相同，&lt;span lang=&quot;EN-US&quot;&gt;N&lt;/span&gt;与&lt;span lang=&quot;EN-US&quot;&gt;M&lt;/span&gt;也可以相同。由此便可衍生出如文中开头所有的战斗范围，以及更多未列出来的。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;有了以上强大的理论依据作为基础，接下来的编码便是手到擒来，我的思路大致如下。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第一步，定义最常用的基本规律（即连续的战斗范围类型）：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;战斗范围类型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;None&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Square&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Diamond&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cross&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Oblique&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;除&lt;span lang=&quot;EN-US&quot;&gt;None&lt;/span&gt;外，它们&lt;span lang=&quot;EN-US&quot;&gt;2&lt;/span&gt;长度范围分别对应以下图例：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;80&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/4.jpg&quot; width=&quot;320&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第二步，以这些战斗范围&lt;span lang=&quot;EN-US&quot;&gt;(List&amp;lt;Point&amp;gt;)&lt;/span&gt;为返回值构造方法：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetRange(Point&amp;nbsp;center,&amp;nbsp;AttackRangeTypes&amp;nbsp;attackRangeType,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range)&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;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;points&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;range;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range;&amp;nbsp;x&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;range;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range;&amp;nbsp;y&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(attackRangeType)&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.None:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.Square:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.Diamond:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Math.Abs(x)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Math.Abs(y)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.Cross:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Math.Abs(x)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Math.Abs(y)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.Oblique:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Math.Abs(x)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Math.Abs(y))&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;points.Add(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(center.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x,&amp;nbsp;center.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;points;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;rangeType&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;范围类型&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;range&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;范围&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;exclusionRangeType&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;排除范围类型&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;exclusionRange&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;排除范围&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRange(AttackRangeTypes&amp;nbsp;rangeType,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range,&amp;nbsp;AttackRangeTypes&amp;nbsp;exclusionRangeType,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;exclusionRange)&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;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;points&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetRange(Coordinate,&amp;nbsp;rangeType,&amp;nbsp;range);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;excludePoints&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetRange(Coordinate,&amp;nbsp;exclusionRangeType,&amp;nbsp;exclusionRange);&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;points.Except(excludePoints).ToList();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第三步，游戏中，将玩家控制的角色坐标&lt;span lang=&quot;EN-US&quot;&gt;Coordinate&lt;/span&gt;作为以上方法的&lt;span lang=&quot;EN-US&quot;&gt;Center&lt;/span&gt;参数，通过前文提到的组合方式最终完成&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;战棋角色战斗范围动态设定：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;486&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/5.jpg&quot; width=&quot;523&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;这是一款基于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏引擎的一部分，在线演示&lt;span lang=&quot;EN-US&quot;&gt;Demo &lt;/span&gt;如下&lt;span lang=&quot;EN-US&quot;&gt;(&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo1.rar&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;该Demo&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;240&quot; width=&quot;400&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAABXKQAAzhgAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwAxAC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
    &lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo1.xap&quot;    /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot;    /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot;    /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot;    /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot;    /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot;    /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
      &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot;    /&gt;
    &lt;/a&gt;     &lt;/object&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;通过动态组合差集的方式设定&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;战棋角色的攻击范围，无论是灵活性、适用性还是拓展性都显得极其强大。当然，每个人的思维方式不一样，写出的算法也会大相径庭，游戏开发的乐趣就在于此：优化永无止尽。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;手记思考：当问题出现时若能正确的把握其本质规律，一切都将显得那么的简单。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2146373.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/08/19/2146373.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>今天，作为一名游戏开发者，当技术与思想逐步成熟，理想似乎已不再显得那么的遥不可及。以SLG战棋游戏战斗范围为例，我们可以巧妙的通过集合运算来实现几乎所有你能想到的角色战斗范围设定。</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 29.6pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; letter-spacing: 0.4pt&quot;&gt;战棋游戏通常指以回合制为基础，角色在地图上按格移动作战的游戏，好比下棋一样，该类型游戏更侧重于策略，节奏较缓慢，注重精美、绚丽的画面，考验的是玩家运筹全局的智慧。耳熟能详的比如&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;《梦幻模拟战》、《火焰纹章》、《大战略》、《炎龙骑士团》、《幻世录》等&lt;span style=&quot;letter-spacing: 0.4pt&quot;&gt;经典&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;战棋游戏占据了我太多记忆，每次看到类似的游戏都会激动不已，尤其是远距离攻击类型的弓箭手和魔法师，战局扭转往往就在一步之间。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;今天，作为一名游戏开发者，当技术与思想逐步成熟，理想似乎已不再是那么的遥不可及。以&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;战棋游戏战斗范围为例，我们可以巧妙的通过集合运算来实现几乎所有你能想到的角色战斗范围设定。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;动手前我们不妨先看一下《曹操传》中所有的战斗范围图例：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;521&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/0.jpg&quot; width=&quot;484&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;见到此类素材大家会否觉得实在亲切。没错，就是我们小时候读书最常玩的找规律数学题。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;既然要找出规律，那么就得先分析出其中的共性与变化。最直接的共性便是所有的格子均是&amp;#8220;对称&amp;#8221;的；而发生变化的则是某些图例似乎都被&amp;#8220;挖&amp;#8221;去了一些；再往下想，这些被&amp;#8220;挖&amp;#8221;掉的格子同样也是&amp;#8220;对称&amp;#8221;的。由此，基于集合的差集运算第一时间浮现在脑海。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;规律把握的是否正确离不开证明过程，接下来我们随便以上图中任意几个图例为例加以验证：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;76&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/1.jpg&quot; width=&quot;340&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;76&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/2.jpg&quot; width=&quot;340&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;76&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/3.jpg&quot; width=&quot;340&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;是不是开始有些激动了？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;最后的总结：所有&amp;#8220;对称&amp;#8221;的战斗范围都可以是基于某种规律&lt;span lang=&quot;EN-US&quot;&gt;N&lt;/span&gt;格长度的范围与基于另一种规律&lt;span lang=&quot;EN-US&quot;&gt;M&lt;/span&gt;格长度范围的差集，其中这两种规律可以相同，&lt;span lang=&quot;EN-US&quot;&gt;N&lt;/span&gt;与&lt;span lang=&quot;EN-US&quot;&gt;M&lt;/span&gt;也可以相同。由此便可衍生出如文中开头所有的战斗范围，以及更多未列出来的。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;有了以上强大的理论依据作为基础，接下来的编码便是手到擒来，我的思路大致如下。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第一步，定义最常用的基本规律（即连续的战斗范围类型）：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;战斗范围类型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;None&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Square&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Diamond&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cross&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Oblique&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;除&lt;span lang=&quot;EN-US&quot;&gt;None&lt;/span&gt;外，它们&lt;span lang=&quot;EN-US&quot;&gt;2&lt;/span&gt;长度范围分别对应以下图例：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;80&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/4.jpg&quot; width=&quot;320&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第二步，以这些战斗范围&lt;span lang=&quot;EN-US&quot;&gt;(List&amp;lt;Point&amp;gt;)&lt;/span&gt;为返回值构造方法：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetRange(Point&amp;nbsp;center,&amp;nbsp;AttackRangeTypes&amp;nbsp;attackRangeType,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range)&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;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;points&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;range;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range;&amp;nbsp;x&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;range;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range;&amp;nbsp;y&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(attackRangeType)&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.None:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.Square:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.Diamond:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Math.Abs(x)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Math.Abs(y)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.Cross:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Math.Abs(x)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Math.Abs(y)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRangeTypes.Oblique:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Math.Abs(x)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Math.Abs(y))&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;continue&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;points.Add(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(center.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x,&amp;nbsp;center.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;points;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;rangeType&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;范围类型&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;range&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;范围&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;exclusionRangeType&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;排除范围类型&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;exclusionRange&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;排除范围&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AttackRange(AttackRangeTypes&amp;nbsp;rangeType,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;range,&amp;nbsp;AttackRangeTypes&amp;nbsp;exclusionRangeType,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;exclusionRange)&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;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;points&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetRange(Coordinate,&amp;nbsp;rangeType,&amp;nbsp;range);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Point&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;excludePoints&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetRange(Coordinate,&amp;nbsp;exclusionRangeType,&amp;nbsp;exclusionRange);&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;points.Except(excludePoints).ToList();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第三步，游戏中，将玩家控制的角色坐标&lt;span lang=&quot;EN-US&quot;&gt;Coordinate&lt;/span&gt;作为以上方法的&lt;span lang=&quot;EN-US&quot;&gt;Center&lt;/span&gt;参数，通过前文提到的组合方式最终完成&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;战棋角色战斗范围动态设定：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;486&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110820/5.jpg&quot; width=&quot;523&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&amp;#8230;&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;这是一款基于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;游戏引擎的一部分，在线演示&lt;span lang=&quot;EN-US&quot;&gt;Demo &lt;/span&gt;如下&lt;span lang=&quot;EN-US&quot;&gt;(&lt;a href=&quot;http://files.cnblogs.com/alamiye010/SLGDemo1.rar&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;点击下载&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;该Demo&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;源码&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;)&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;object type=&quot;application/x-silverlight-2&quot; height=&quot;240&quot; width=&quot;400&quot; data=&quot;data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAABXKQAAzhgAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABiAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBMAEcARABlAG0AbwAxAC4AeABhAHAAAAA8AAAAAAAAACYAAABvAG4AUwBpAGwAdgBlAHIAbABpAGcAaAB0AEUAcgByAG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADYAMAAzADEAMAAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA==&quot;&gt;
    &lt;param name=&quot;source&quot; value=&quot;http://files.cnblogs.com/alamiye010/SLGDemo1.xap&quot;    /&gt;&lt;param name=&quot;onError&quot; value=&quot;onSilverlightError&quot;    /&gt;&lt;param name=&quot;background&quot; value=&quot;white&quot;    /&gt;&lt;param name=&quot;EnableGPUAcceleration&quot; value=&quot;true&quot;    /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.60310.0&quot;    /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot;    /&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.60310.0&quot; style=&quot;text-decoration:none&quot;&gt;
      &lt;img src=&quot;http://go.microsoft.com/fwlink/?LinkId=161376&quot; alt=&quot;获取 Microsoft Silverlight&quot; style=&quot;border-style:none&quot;    /&gt;
    &lt;/a&gt;     &lt;/object&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;通过动态组合差集的方式设定&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;战棋角色的攻击范围，无论是灵活性、适用性还是拓展性都显得极其强大。当然，每个人的思维方式不一样，写出的算法也会大相径庭，游戏开发的乐趣就在于此：优化永无止尽。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;手记思考：当问题出现时若能正确的把握其本质规律，一切都将显得那么的简单。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2146373.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/08/19/2146373.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Fri, 19 Aug 2011 23:50:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/08/19/2146373.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Silverlight 2.5D RPG游戏技巧与特效处理：（完结篇）革新之路</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/07/07/2100156.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;谨以此文献给自己和我，深爱的游戏。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;整整&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505330.html&quot; target=&quot;_blank&quot;&gt;两年零四个月&lt;/a&gt;的&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;游戏教程编写终于放心的画上句号。有时也觉得很不可思议，把对儿时的梦想与坚持化作动力居然出了&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://cnblogs.com/alamiye010&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;五部作品&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; mso-ascii-font-family: 宋体&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&amp;#8230;&amp;#8230;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;，不知能否算是对这已近畸形的国度奉献的微薄之力，仅此。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0; tab-stops: 477.0pt&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;中国网游在急功近利中成长，逐步呈现两极分化。一方面是大手笔、大成本的大制作，靠乱七八糟看也看不懂，扭也扭不清的故事情节、或恢弘却空洞的时空场景、超量的魔法&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;角色&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;动作来吸引玩家，似乎时下的玩家已不太买账了；与之相反，由年轻一代的游戏开发者们打造，凭借&lt;span lang=&quot;EN-US&quot;&gt;Web&lt;/span&gt;这个开放式平台不断涌现出许多短小精悍、创意无限的小制作，虽然简单却不失趣味，休闲娱乐一体，备受热捧；除此之外的都是剩品，或缺少资金导致研发周期加倍拖长、或依赖那些早已过时&lt;span lang=&quot;EN-US&quot;&gt;N&lt;/span&gt;年老旧不堪的引擎重新美术包装，换汤不换药的陈年旧饭；事实证明了中庸之路必将被这高节奏时代无情淘汰。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;不比&lt;span lang=&quot;EN-US&quot;&gt;10&lt;/span&gt;年前了，还记得《龙族》《红月》《万王之王》吗？用&lt;span lang=&quot;EN-US&quot;&gt;90&lt;/span&gt;后的眼光去看待它们显得极其不屑：没有绚丽的画面，没有&lt;span lang=&quot;EN-US&quot;&gt;SNS&lt;/span&gt;元素，没有百宝箱，没有&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; mso-ascii-font-family: 宋体&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&amp;#8230;&amp;#8230;&lt;/font&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;；可是，它们对于我来说却是弥足珍贵的记忆。太多人丢失了当年游戏人对艺术与创造的追求，拜倒在金钱的石榴裙下山寨，去吧！去剽窃，去复制。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;难道经典对于我们来说总是那么的遥不可及？？科技如此神速发展的今天，如果一款游戏需要&lt;span lang=&quot;EN-US&quot;&gt;3&lt;/span&gt;年左右研发时间，可以明确一点：落伍是注定的。客户端网游的诟病越发显著，就如创新工场所形容的：太重了。近两年的市场充分反映，大投资的客户端网游往往比不上小成本的页游赚钱，亦印证了时代赋予游戏的革新之路：轻量化。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;所有深入看过&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;游戏相关教程的朋友应该都有这样感触：其实游戏开发并非那么的遥不可及。&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;开发网游相比传统的客户端有着极其显著特点：多语言、多平台；低投入、高效率、长期效应、持续发展、绿色低碳环保；研发周期短而更易于创新；模式变化无穷且不拘于特定引擎；拓展维护方便，是&lt;span lang=&quot;EN-US&quot;&gt;.NET&lt;/span&gt;体系中集大成者与未来方向的引导者。&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;页游将引领世界的第四次游戏革命：全球化综合娱乐体验。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;朋友，或许你还用插件安装量来衡量今天的&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;，那么只能送你两个字：&lt;span lang=&quot;EN-US&quot;&gt;Out Man&lt;/span&gt;。不就是个插件，&lt;span lang=&quot;EN-US&quot;&gt;WIN8+&lt;/span&gt;毫无疑问必然集成，至于其他操作系统？&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.silverlightchina.net/html/tips/2010/0906/1853.html&quot; target=&quot;_blank&quot;&gt;Silverlight&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的&lt;span lang=&quot;EN-US&quot;&gt;静&lt;span lang=&quot;EN-US&quot;&gt;默安装模式&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;让你一键搞定用户，比起每天都因为漏洞而不停弹出更新的其他&lt;span lang=&quot;EN-US&quot;&gt;RIA&lt;/span&gt;来说，这个算是小&lt;span lang=&quot;EN-US&quot;&gt;Case&lt;/span&gt;了。不清楚&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/106958/&quot; target=&quot;_blank&quot;&gt;Javascript&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的10&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;个设计缺陷&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;以及&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.win7china.com/html/15439.html&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;WebGL&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的先天不良&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;是否能成就前途未卜的&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;黄粱美梦暂且不提，&lt;span lang=&quot;EN-US&quot;&gt;Silverlight &lt;/span&gt;与&lt;span lang=&quot;EN-US&quot;&gt; Flash&lt;/span&gt;，王者与王者的对决似乎注定了&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;的最终命运：走好。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;又要动身了，当然，这次为了另一个希望而扬帆。留在博客里的所有代码与浅薄思想与大家一同分享，祝愿，让光的力量指引我们终有一天梦想成真。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;时间很快，每次整理好思路，编写完代码，叙述清来龙去脉后，我整个身心便会有一种莫名的愉悦与解脱；是，欣慰自己还活着，因为从未揪心过啥时会&amp;#8220;被跨省&amp;#8221;、&amp;#8220;被沉海&amp;#8221;；时至今日，我总算能够与&lt;span lang=&quot;EN-US&quot;&gt;80&lt;/span&gt;多岁的老革命一起看《董&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; color: #ffffff; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;_&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;存&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; color: #ffffff; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;_&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;瑞》而热泪盈眶，就像他们所说的，只有像我这样的贫民才能痛彻心底的感悟那深藏于心底的五个大字：我爱你，中国。借此铭记被和谐社会所埋葬的&amp;#8220;裸婚时代&amp;#8221;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;深蓝色右手所有&lt;span lang=&quot;EN-US&quot;&gt;Demo在线&lt;/span&gt;演示地址：&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silverfuture.cn/&quot;&gt;http://silverfuture.cn/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;深蓝色右手最新Silverlight 2.5D RPG游戏引擎下载地址：见&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;目录&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;深蓝色右手唯一超级&lt;span lang=&quot;EN-US&quot;&gt;QQ&lt;/span&gt;群&lt;span lang=&quot;EN-US&quot;&gt;(Silverlight &lt;/span&gt;秘密&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;73068105&lt;/span&gt;，欢迎&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;专业人士加入&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;证明身份或出示作品&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2100156.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/07/07/2100156.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>谨以此文献给自己和我，深爱的游戏。整整两年零四个月的Silverlight游戏教程编写终于放心的画上句号。有时也觉得很不可思议，把对儿时的梦想与坚持化作动力居然出了五部作品……，不知能否算是对这已近畸形的国度奉献的微薄之力，仅此。</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;谨以此文献给自己和我，深爱的游戏。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;整整&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505330.html&quot; target=&quot;_blank&quot;&gt;两年零四个月&lt;/a&gt;的&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;游戏教程编写终于放心的画上句号。有时也觉得很不可思议，把对儿时的梦想与坚持化作动力居然出了&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://cnblogs.com/alamiye010&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;五部作品&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; mso-ascii-font-family: 宋体&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&amp;#8230;&amp;#8230;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;，不知能否算是对这已近畸形的国度奉献的微薄之力，仅此。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0; tab-stops: 477.0pt&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;中国网游在急功近利中成长，逐步呈现两极分化。一方面是大手笔、大成本的大制作，靠乱七八糟看也看不懂，扭也扭不清的故事情节、或恢弘却空洞的时空场景、超量的魔法&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;角色&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;动作来吸引玩家，似乎时下的玩家已不太买账了；与之相反，由年轻一代的游戏开发者们打造，凭借&lt;span lang=&quot;EN-US&quot;&gt;Web&lt;/span&gt;这个开放式平台不断涌现出许多短小精悍、创意无限的小制作，虽然简单却不失趣味，休闲娱乐一体，备受热捧；除此之外的都是剩品，或缺少资金导致研发周期加倍拖长、或依赖那些早已过时&lt;span lang=&quot;EN-US&quot;&gt;N&lt;/span&gt;年老旧不堪的引擎重新美术包装，换汤不换药的陈年旧饭；事实证明了中庸之路必将被这高节奏时代无情淘汰。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;不比&lt;span lang=&quot;EN-US&quot;&gt;10&lt;/span&gt;年前了，还记得《龙族》《红月》《万王之王》吗？用&lt;span lang=&quot;EN-US&quot;&gt;90&lt;/span&gt;后的眼光去看待它们显得极其不屑：没有绚丽的画面，没有&lt;span lang=&quot;EN-US&quot;&gt;SNS&lt;/span&gt;元素，没有百宝箱，没有&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; mso-ascii-font-family: 宋体&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&amp;#8230;&amp;#8230;&lt;/font&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;；可是，它们对于我来说却是弥足珍贵的记忆。太多人丢失了当年游戏人对艺术与创造的追求，拜倒在金钱的石榴裙下山寨，去吧！去剽窃，去复制。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;难道经典对于我们来说总是那么的遥不可及？？科技如此神速发展的今天，如果一款游戏需要&lt;span lang=&quot;EN-US&quot;&gt;3&lt;/span&gt;年左右研发时间，可以明确一点：落伍是注定的。客户端网游的诟病越发显著，就如创新工场所形容的：太重了。近两年的市场充分反映，大投资的客户端网游往往比不上小成本的页游赚钱，亦印证了时代赋予游戏的革新之路：轻量化。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;所有深入看过&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;游戏相关教程的朋友应该都有这样感触：其实游戏开发并非那么的遥不可及。&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;开发网游相比传统的客户端有着极其显著特点：多语言、多平台；低投入、高效率、长期效应、持续发展、绿色低碳环保；研发周期短而更易于创新；模式变化无穷且不拘于特定引擎；拓展维护方便，是&lt;span lang=&quot;EN-US&quot;&gt;.NET&lt;/span&gt;体系中集大成者与未来方向的引导者。&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;页游将引领世界的第四次游戏革命：全球化综合娱乐体验。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;朋友，或许你还用插件安装量来衡量今天的&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;，那么只能送你两个字：&lt;span lang=&quot;EN-US&quot;&gt;Out Man&lt;/span&gt;。不就是个插件，&lt;span lang=&quot;EN-US&quot;&gt;WIN8+&lt;/span&gt;毫无疑问必然集成，至于其他操作系统？&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.silverlightchina.net/html/tips/2010/0906/1853.html&quot; target=&quot;_blank&quot;&gt;Silverlight&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的&lt;span lang=&quot;EN-US&quot;&gt;静&lt;span lang=&quot;EN-US&quot;&gt;默安装模式&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;让你一键搞定用户，比起每天都因为漏洞而不停弹出更新的其他&lt;span lang=&quot;EN-US&quot;&gt;RIA&lt;/span&gt;来说，这个算是小&lt;span lang=&quot;EN-US&quot;&gt;Case&lt;/span&gt;了。不清楚&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/106958/&quot; target=&quot;_blank&quot;&gt;Javascript&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的10&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;个设计缺陷&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;以及&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.win7china.com/html/15439.html&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;WebGL&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;的先天不良&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;是否能成就前途未卜的&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;黄粱美梦暂且不提，&lt;span lang=&quot;EN-US&quot;&gt;Silverlight &lt;/span&gt;与&lt;span lang=&quot;EN-US&quot;&gt; Flash&lt;/span&gt;，王者与王者的对决似乎注定了&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;的最终命运：走好。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;又要动身了，当然，这次为了另一个希望而扬帆。留在博客里的所有代码与浅薄思想与大家一同分享，祝愿，让光的力量指引我们终有一天梦想成真。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;时间很快，每次整理好思路，编写完代码，叙述清来龙去脉后，我整个身心便会有一种莫名的愉悦与解脱；是，欣慰自己还活着，因为从未揪心过啥时会&amp;#8220;被跨省&amp;#8221;、&amp;#8220;被沉海&amp;#8221;；时至今日，我总算能够与&lt;span lang=&quot;EN-US&quot;&gt;80&lt;/span&gt;多岁的老革命一起看《董&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; color: #ffffff; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;_&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;存&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; color: #ffffff; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;_&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;瑞》而热泪盈眶，就像他们所说的，只有像我这样的贫民才能痛彻心底的感悟那深藏于心底的五个大字：我爱你，中国。借此铭记被和谐社会所埋葬的&amp;#8220;裸婚时代&amp;#8221;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;深蓝色右手所有&lt;span lang=&quot;EN-US&quot;&gt;Demo在线&lt;/span&gt;演示地址：&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silverfuture.cn/&quot;&gt;http://silverfuture.cn/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;深蓝色右手最新Silverlight 2.5D RPG游戏引擎下载地址：见&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;目录&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;深蓝色右手唯一超级&lt;span lang=&quot;EN-US&quot;&gt;QQ&lt;/span&gt;群&lt;span lang=&quot;EN-US&quot;&gt;(Silverlight &lt;/span&gt;秘密&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;73068105&lt;/span&gt;，欢迎&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;专业人士加入&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;证明身份或出示作品&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2100156.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/07/07/2100156.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Thu, 07 Jul 2011 15:48:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/07/07/2100156.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Silverlight 2.5D RPG游戏技巧与特效处理：（二十一）自定义路径动画</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/06/29/2093568.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;一直在想应该用什么作为《&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;Silverlight 2.5D RPG&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;游戏技巧与&lt;span lang=&quot;EN-US&quot;&gt;特效处理系列教程&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;》的终结，既要实用而不拖泥带水；又要通用而不哗众取宠。于是一不小心便成就了我一个未了心愿：一切基于动态绘制路径而生成的万象动画作为这又一部作品的谢幕，足矣。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;还记得我们小时候玩的《坦克大战》、《雷电》吗？在那狭小的弹粒缝隙间躲闪追逐成为了每每课后最快乐的回忆：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; stroked=&quot;f&quot; filled=&quot;f&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; coordsize=&quot;21600,21600&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype=&quot;rect&quot; gradientshapeok=&quot;t&quot; o:extrusionok=&quot;f&quot;&gt;&lt;/v:path&gt;&lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/10.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;500&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;还记得高三那年的春天吗？每次丢下书包第一时间总会跑进网吧与同学们联网《星级争霸》、《帝国时代》；&lt;span lang=&quot;EN-US&quot;&gt;4V4&lt;/span&gt;、罗马战车&lt;span lang=&quot;EN-US&quot;&gt;VS&lt;/span&gt;投石车，炮火与弓箭的洗礼下，我们幸福的青春就这样被无限的释放：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/11.jpg&quot; longdesc=&quot;&quot; width=&quot;500&quot; border=&quot;0&quot; height=&quot;300&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;大学里，《博德之门》、《奇迹》、《半条命》、《破碎银河系》等&lt;span lang=&quot;EN-US&quot;&gt;N&lt;/span&gt;多顶级游戏&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;网游让我短暂的忘却了时代赋予大学生的苦闷，人生除了现实，其实成为一名虚拟的王者未必不是今生一件幸事。&amp;#8220;魔法飞弹&amp;#8221;横空掠过、&amp;#8220;蓝翎弩&amp;#8221;三重穿梭、&amp;#8220;手雷&amp;#8221;华丽的抛物线、&amp;#8220;跟踪弹&amp;#8221;锲而不舍的精神如同网吧中弥漫着无上团结的凝聚力，走过了&lt;span lang=&quot;EN-US&quot;&gt;4&lt;/span&gt;年，也走过了最让我留念和感动的&amp;#8220;兄弟年代&amp;#8221;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/12.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;400&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体;&quot;&gt;直至今日，当我们坐在凳子上开始编写属于自己的游戏时，当年战斗的画面早已模糊不清，残留的仅剩无数的弹粒在天空中你来我往，毫无眷恋。一直在想是否能够通过一块画板外加几个选项来完成所有一切的自定义路径动画，从而让游戏设计中那些如此神秘而又变幻莫测的&amp;#8220;弹道轨迹&amp;#8221;变得简单而轻松？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;之前便有很多人公开了他们的相关成果，关于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;中的路径动画&lt;span lang=&quot;EN-US&quot;&gt;(Path Animation)&lt;/span&gt;实现，比如下面两个链接：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.codeproject.com/KB/silverlight/PathAnimation.aspx&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;http://www.codeproject.com/KB/silverlight/PathAnimation.aspx&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://geekswithblogs.net/cskardon/archive/2010/09/21/path-animation-in-silverlight.aspx&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;http://geekswithblogs.net/cskardon/archive/2010/09/21/path-animation-in-silverlight.aspx&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/-1.jpg&quot; longdesc=&quot;&quot; width=&quot;286&quot; border=&quot;0&quot; height=&quot;360&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;很可惜它们均为外国人所作，第一篇重新封装了一个名为&lt;span lang=&quot;EN-US&quot;&gt;PathAnimation&lt;/span&gt;的类，基于&lt;span lang=&quot;EN-US&quot;&gt;Blend&lt;/span&gt;绘制&lt;span lang=&quot;EN-US&quot;&gt;Path&lt;/span&gt;坐标数据实现路径动画；而后者则完全是通过&lt;span lang=&quot;EN-US&quot;&gt;Blend&lt;/span&gt;绘制的路径动画。虽然均能达到效果，但易用性及拓展性显然不够强。想想，怎样的自定义路径动画才能最大化适应当下绝大多数&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;各类型&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;游戏的需要？尤其在&lt;span lang=&quot;EN-US&quot;&gt;RPG&lt;/span&gt;游戏中，能为之增添无限乐趣和优秀的玩家视觉体验。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;思路再一次回到那块画板上，通过鼠标在画板上移动，然后将鼠标所经过的轨迹以一定的密度绘制在其上并按顺序保存到&lt;span lang=&quot;EN-US&quot;&gt;List&amp;lt;Point&amp;gt;&lt;/span&gt;中，最后通过&lt;span lang=&quot;EN-US&quot;&gt;Storyboard&lt;/span&gt;的关键帧动画将所有的&lt;span lang=&quot;EN-US&quot;&gt;Point&lt;/span&gt;连成一个完整的路径动画。其中通过简单的顺时针&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;逆时针判断公式及匀加&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;减速度计算公式(任何公式都可以随意拓展)来分别实现动画延路径移动时的动态朝向及变速运动效果；当然，再配合上坐标缩放系数，从而最终整个自定义路径动画所实现的效果可完美无缝的移植到任何有相关需求的&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;游戏中：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('0bf50dda-2570-4fc1-b055-47b36e83a97b')&quot;&gt;&lt;img  id=&quot;code_img_opened_0bf50dda-2570-4fc1-b055-47b36e83a97b&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('0bf50dda-2570-4fc1-b055-47b36e83a97b',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt;
&lt;div  id=&quot;cnblogs_code_open_0bf50dda-2570-4fc1-b055-47b36e83a97b&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bullet&amp;nbsp;bullet&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Bullet(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;BulletDatas()&amp;nbsp;{&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].AnimationCode,&amp;nbsp;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Type&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;BulletTypes.Animation&amp;nbsp;})&amp;nbsp;{&amp;nbsp;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bullet.Center&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;bullet.Offset;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabCanvas2.Children.Add(bullet);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard&amp;nbsp;storyboard&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Storyboard();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PointAnimationUsingKeyFrames&amp;nbsp;pointAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;PointAnimationUsingKeyFrames();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard.SetTarget(pointAnimationUsingKeyFrames,&amp;nbsp;bullet);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard.SetTargetProperty(pointAnimationUsingKeyFrames,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;PropertyPath(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Position&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;DoubleAnimationUsingKeyFrames&amp;nbsp;doubleAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DoubleAnimationUsingKeyFrames();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard.SetTarget(doubleAnimationUsingKeyFrames,&amp;nbsp;bullet);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard.SetTargetProperty(doubleAnimationUsingKeyFrames,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;PropertyPath(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Angle&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;speed&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Rate;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0.002&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;加速系数&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;timeSpanTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;durationTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(pathAnimationPainter[n].Easing&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;加速逆行即减速&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path.Count;&amp;nbsp;i&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path.Count;&amp;nbsp;i&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeSpan&amp;nbsp;timeSpan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Point&amp;nbsp;lastPath&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;?&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;]&amp;nbsp;:&amp;nbsp;pathAnimationPainter[n].Path[i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Point&amp;nbsp;nowPath&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Point&amp;nbsp;nextPath&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path.Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;?&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path[pathAnimationPainter[n].Path.Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;]&amp;nbsp;:&amp;nbsp;pathAnimationPainter[n].Path[i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(pathAnimationPainter[n].Easing)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpanTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GlobalMethod.GetDistance(lastPath,&amp;nbsp;nowPath)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;speed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;durationTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;timeSpanTemp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromMilliseconds(durationTemp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&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&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpanTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GlobalMethod.GetDistance(lastPath,&amp;nbsp;nowPath)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;speed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;durationTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;timeSpanTemp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromMilliseconds(durationTemp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&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&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(pathAnimationPainter[n].Path.Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpanTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GlobalMethod.GetDistance(lastPath,&amp;nbsp;nowPath)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;speed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;durationTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;timeSpanTemp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromMilliseconds(durationTemp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&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;&amp;nbsp;pointAnimationUsingKeyFrames.KeyFrames.Add(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LinearPointKeyFrame()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyTime&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;KeyTime.FromTimeSpan(timeSpan),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point()&amp;nbsp;{&amp;nbsp;X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;nowPath.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Proportion,&amp;nbsp;Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;nowPath.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Proportion&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;&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;&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;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GlobalMethod.GetAngle(nowPath.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastPath.Y,&amp;nbsp;nowPath.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastPath.X)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;check大于0为顺时针个方向&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;check&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(nowPath.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastPath.X)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(nextPath.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;nowPath.Y)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(nowPath.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastPath.Y)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(nextPath.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;nowPath.X);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(check&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle)&amp;nbsp;{&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;180&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angleTemp)&amp;nbsp;{&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;circle&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle)&amp;nbsp;{&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;180&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angleTemp)&amp;nbsp;{&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;circle&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&amp;nbsp;angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用于旋转时的角度衔接&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;doubleAnimationUsingKeyFrames.KeyFrames.Add(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LinearDoubleKeyFrame()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyTime&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;KeyTime.FromTimeSpan(timeSpan),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pointAnimationUsingKeyFrames.Duration&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Duration(TimeSpan.FromMilliseconds(durationTemp));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Children.Add(pointAnimationUsingKeyFrames);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(pathAnimationPainter[n].Direction&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;storyboard.Children.Add(doubleAnimationUsingKeyFrames);&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;EventHandler&amp;nbsp;handler&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;storyboard.Completed&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;handler&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Completed&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;handler;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabCanvas2.Children.Remove(bullet);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bullet.Move_Completed(bullet,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Begin();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/-2.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;500&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;还在羡慕《倩女幽魂&lt;span lang=&quot;EN-US&quot;&gt;Online&lt;/span&gt;》交织穿梭的吸血法术吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/15.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;298&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;还在嫉妒《星辰变》中的移动粒子施法吗？还在恨&lt;span lang=&quot;EN-US&quot;&gt;2D/2.5D&lt;/span&gt;无法实现类似&lt;span lang=&quot;EN-US&quot;&gt;3D&lt;/span&gt;游戏中那些高随意性的路径动画吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;有了本节的自定义路径动画攻略，大家只需一个描述路径的&lt;span lang=&quot;EN-US&quot;&gt;List&amp;lt;Point&amp;gt;&lt;/span&gt;，配合上几个参数而已，一切效果随手创造：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/0.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/1.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/2.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/3.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/4.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/5.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/6.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/7.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/8.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;看到这你是否开始心动了？没错，尤其是在角色位置相对固定的回合制、&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;等类型游戏中，在发动者与它的目标之间创造出你认为最华丽的路径，无论魔法的走位还是角色的各类移动等效果都将变得轻而易举，这就是&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;给我们游戏开发者所带来的奇迹&lt;span lang=&quot;EN-US&quot;&gt;~&lt;/span&gt;！&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/106656/&quot; target=&quot;_blank&quot;&gt;Silverlight &lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;时代即将来临，您准备好了吗？&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本系列源码请到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot; lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;目录&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;中下载&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;在线演示地址：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silverfuture.cn/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;http://silverfuture.cn&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2093568.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/06/29/2093568.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>一直在想应该用什么作为《Silverlight 2.5D RPG游戏技巧与特效处理系列教程》的终结，于是一不小心便成就了我一个未了心愿：一切基于动态绘制路径而生成的万象动画作为这又一部作品的谢幕，足矣。尤其是在角色位置相对固定的回合制、SLG等类型游戏中，在发动者与它的目标之间创造出你认为最华丽的路径，无论魔法的走位还是角色的各类移动等效果都将变得轻而易举，这就是Silverlight给我们游戏开发者所带来的奇迹~！</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;一直在想应该用什么作为《&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;Silverlight 2.5D RPG&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;游戏技巧与&lt;span lang=&quot;EN-US&quot;&gt;特效处理系列教程&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;》的终结，既要实用而不拖泥带水；又要通用而不哗众取宠。于是一不小心便成就了我一个未了心愿：一切基于动态绘制路径而生成的万象动画作为这又一部作品的谢幕，足矣。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;还记得我们小时候玩的《坦克大战》、《雷电》吗？在那狭小的弹粒缝隙间躲闪追逐成为了每每课后最快乐的回忆：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; stroked=&quot;f&quot; filled=&quot;f&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; coordsize=&quot;21600,21600&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype=&quot;rect&quot; gradientshapeok=&quot;t&quot; o:extrusionok=&quot;f&quot;&gt;&lt;/v:path&gt;&lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/10.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;500&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;还记得高三那年的春天吗？每次丢下书包第一时间总会跑进网吧与同学们联网《星级争霸》、《帝国时代》；&lt;span lang=&quot;EN-US&quot;&gt;4V4&lt;/span&gt;、罗马战车&lt;span lang=&quot;EN-US&quot;&gt;VS&lt;/span&gt;投石车，炮火与弓箭的洗礼下，我们幸福的青春就这样被无限的释放：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/11.jpg&quot; longdesc=&quot;&quot; width=&quot;500&quot; border=&quot;0&quot; height=&quot;300&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;大学里，《博德之门》、《奇迹》、《半条命》、《破碎银河系》等&lt;span lang=&quot;EN-US&quot;&gt;N&lt;/span&gt;多顶级游戏&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;网游让我短暂的忘却了时代赋予大学生的苦闷，人生除了现实，其实成为一名虚拟的王者未必不是今生一件幸事。&amp;#8220;魔法飞弹&amp;#8221;横空掠过、&amp;#8220;蓝翎弩&amp;#8221;三重穿梭、&amp;#8220;手雷&amp;#8221;华丽的抛物线、&amp;#8220;跟踪弹&amp;#8221;锲而不舍的精神如同网吧中弥漫着无上团结的凝聚力，走过了&lt;span lang=&quot;EN-US&quot;&gt;4&lt;/span&gt;年，也走过了最让我留念和感动的&amp;#8220;兄弟年代&amp;#8221;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/12.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;400&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体;&quot;&gt;直至今日，当我们坐在凳子上开始编写属于自己的游戏时，当年战斗的画面早已模糊不清，残留的仅剩无数的弹粒在天空中你来我往，毫无眷恋。一直在想是否能够通过一块画板外加几个选项来完成所有一切的自定义路径动画，从而让游戏设计中那些如此神秘而又变幻莫测的&amp;#8220;弹道轨迹&amp;#8221;变得简单而轻松？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;之前便有很多人公开了他们的相关成果，关于&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;中的路径动画&lt;span lang=&quot;EN-US&quot;&gt;(Path Animation)&lt;/span&gt;实现，比如下面两个链接：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.codeproject.com/KB/silverlight/PathAnimation.aspx&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;http://www.codeproject.com/KB/silverlight/PathAnimation.aspx&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://geekswithblogs.net/cskardon/archive/2010/09/21/path-animation-in-silverlight.aspx&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;http://geekswithblogs.net/cskardon/archive/2010/09/21/path-animation-in-silverlight.aspx&lt;/font&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/-1.jpg&quot; longdesc=&quot;&quot; width=&quot;286&quot; border=&quot;0&quot; height=&quot;360&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;很可惜它们均为外国人所作，第一篇重新封装了一个名为&lt;span lang=&quot;EN-US&quot;&gt;PathAnimation&lt;/span&gt;的类，基于&lt;span lang=&quot;EN-US&quot;&gt;Blend&lt;/span&gt;绘制&lt;span lang=&quot;EN-US&quot;&gt;Path&lt;/span&gt;坐标数据实现路径动画；而后者则完全是通过&lt;span lang=&quot;EN-US&quot;&gt;Blend&lt;/span&gt;绘制的路径动画。虽然均能达到效果，但易用性及拓展性显然不够强。想想，怎样的自定义路径动画才能最大化适应当下绝大多数&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;各类型&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;游戏的需要？尤其在&lt;span lang=&quot;EN-US&quot;&gt;RPG&lt;/span&gt;游戏中，能为之增添无限乐趣和优秀的玩家视觉体验。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;思路再一次回到那块画板上，通过鼠标在画板上移动，然后将鼠标所经过的轨迹以一定的密度绘制在其上并按顺序保存到&lt;span lang=&quot;EN-US&quot;&gt;List&amp;lt;Point&amp;gt;&lt;/span&gt;中，最后通过&lt;span lang=&quot;EN-US&quot;&gt;Storyboard&lt;/span&gt;的关键帧动画将所有的&lt;span lang=&quot;EN-US&quot;&gt;Point&lt;/span&gt;连成一个完整的路径动画。其中通过简单的顺时针&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;逆时针判断公式及匀加&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;减速度计算公式(任何公式都可以随意拓展)来分别实现动画延路径移动时的动态朝向及变速运动效果；当然，再配合上坐标缩放系数，从而最终整个自定义路径动画所实现的效果可完美无缝的移植到任何有相关需求的&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;游戏中：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('0bf50dda-2570-4fc1-b055-47b36e83a97b')&quot;&gt;&lt;img  id=&quot;code_img_opened_0bf50dda-2570-4fc1-b055-47b36e83a97b&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('0bf50dda-2570-4fc1-b055-47b36e83a97b',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt;
&lt;div  id=&quot;cnblogs_code_open_0bf50dda-2570-4fc1-b055-47b36e83a97b&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bullet&amp;nbsp;bullet&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Bullet(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;BulletDatas()&amp;nbsp;{&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].AnimationCode,&amp;nbsp;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Type&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;BulletTypes.Animation&amp;nbsp;})&amp;nbsp;{&amp;nbsp;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bullet.Center&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;bullet.Offset;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabCanvas2.Children.Add(bullet);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard&amp;nbsp;storyboard&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Storyboard();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PointAnimationUsingKeyFrames&amp;nbsp;pointAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;PointAnimationUsingKeyFrames();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard.SetTarget(pointAnimationUsingKeyFrames,&amp;nbsp;bullet);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard.SetTargetProperty(pointAnimationUsingKeyFrames,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;PropertyPath(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Position&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;DoubleAnimationUsingKeyFrames&amp;nbsp;doubleAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DoubleAnimationUsingKeyFrames();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard.SetTarget(doubleAnimationUsingKeyFrames,&amp;nbsp;bullet);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Storyboard.SetTargetProperty(doubleAnimationUsingKeyFrames,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;PropertyPath(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Angle&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;speed&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Rate;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0.002&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;加速系数&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;timeSpanTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;durationTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(pathAnimationPainter[n].Easing&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;加速逆行即减速&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path.Count;&amp;nbsp;i&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path.Count;&amp;nbsp;i&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeSpan&amp;nbsp;timeSpan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Point&amp;nbsp;lastPath&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;?&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;]&amp;nbsp;:&amp;nbsp;pathAnimationPainter[n].Path[i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Point&amp;nbsp;nowPath&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Point&amp;nbsp;nextPath&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path.Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;?&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Path[pathAnimationPainter[n].Path.Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;]&amp;nbsp;:&amp;nbsp;pathAnimationPainter[n].Path[i&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(pathAnimationPainter[n].Easing)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpanTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GlobalMethod.GetDistance(lastPath,&amp;nbsp;nowPath)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;speed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;durationTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;timeSpanTemp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromMilliseconds(durationTemp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&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&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpanTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GlobalMethod.GetDistance(lastPath,&amp;nbsp;nowPath)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;speed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;durationTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;timeSpanTemp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromMilliseconds(durationTemp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&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&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(pathAnimationPainter[n].Path.Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpanTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GlobalMethod.GetDistance(lastPath,&amp;nbsp;nowPath)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;speed;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;durationTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;timeSpanTemp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timeSpan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromMilliseconds(durationTemp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&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;&amp;nbsp;pointAnimationUsingKeyFrames.KeyFrames.Add(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LinearPointKeyFrame()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyTime&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;KeyTime.FromTimeSpan(timeSpan),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point()&amp;nbsp;{&amp;nbsp;X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;nowPath.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Proportion,&amp;nbsp;Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;nowPath.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;pathAnimationPainter[n].Proportion&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;&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;&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;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GlobalMethod.GetAngle(nowPath.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastPath.Y,&amp;nbsp;nowPath.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastPath.X)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;check大于0为顺时针个方向&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;double&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;check&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(nowPath.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastPath.X)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(nextPath.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;nowPath.Y)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(nowPath.Y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastPath.Y)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(nextPath.X&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;nowPath.X);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(check&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle)&amp;nbsp;{&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;180&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angleTemp)&amp;nbsp;{&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;circle&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle)&amp;nbsp;{&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;circle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;180&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angleTemp)&amp;nbsp;{&amp;nbsp;angle&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;circle&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&amp;nbsp;angleTemp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用于旋转时的角度衔接&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;doubleAnimationUsingKeyFrames.KeyFrames.Add(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LinearDoubleKeyFrame()&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyTime&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;KeyTime.FromTimeSpan(timeSpan),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;angle&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pointAnimationUsingKeyFrames.Duration&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Duration(TimeSpan.FromMilliseconds(durationTemp));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Children.Add(pointAnimationUsingKeyFrames);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(pathAnimationPainter[n].Direction&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;storyboard.Children.Add(doubleAnimationUsingKeyFrames);&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;EventHandler&amp;nbsp;handler&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;storyboard.Completed&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;handler&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Completed&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;handler;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabCanvas2.Children.Remove(bullet);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bullet.Move_Completed(bullet,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storyboard.Begin();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/-2.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;500&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;还在羡慕《倩女幽魂&lt;span lang=&quot;EN-US&quot;&gt;Online&lt;/span&gt;》交织穿梭的吸血法术吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/15.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;298&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;还在嫉妒《星辰变》中的移动粒子施法吗？还在恨&lt;span lang=&quot;EN-US&quot;&gt;2D/2.5D&lt;/span&gt;无法实现类似&lt;span lang=&quot;EN-US&quot;&gt;3D&lt;/span&gt;游戏中那些高随意性的路径动画吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;有了本节的自定义路径动画攻略，大家只需一个描述路径的&lt;span lang=&quot;EN-US&quot;&gt;List&amp;lt;Point&amp;gt;&lt;/span&gt;，配合上几个参数而已，一切效果随手创造：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/0.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/1.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/2.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/3.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/4.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/5.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/6.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/7.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110629/8.jpg&quot; longdesc=&quot;&quot; width=&quot;600&quot; border=&quot;0&quot; height=&quot;438&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;看到这你是否开始心动了？没错，尤其是在角色位置相对固定的回合制、&lt;span lang=&quot;EN-US&quot;&gt;SLG&lt;/span&gt;等类型游戏中，在发动者与它的目标之间创造出你认为最华丽的路径，无论魔法的走位还是角色的各类移动等效果都将变得轻而易举，这就是&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;给我们游戏开发者所带来的奇迹&lt;span lang=&quot;EN-US&quot;&gt;~&lt;/span&gt;！&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/106656/&quot; target=&quot;_blank&quot;&gt;Silverlight &lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;时代即将来临，您准备好了吗？&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本系列源码请到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot; lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;目录&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;中下载&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;在线演示地址：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silverfuture.cn/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;http://silverfuture.cn&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot; lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2093568.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/06/29/2093568.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Wed, 29 Jun 2011 16:54:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/06/29/2093568.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Silverlight 2.5D RPG游戏技巧与特效处理：（二十）副本系统</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/06/23/2087888.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;前段时间晚上&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;把小孩哄睡后带着老婆体验了一把《星辰变》，让我印象较深的可怜只有其副本系统，这里想说并不是《星辰变》的副本有多么有趣；相反，其枯燥到了无生趣可言，几乎你每天都得花费&lt;span lang=&quot;EN-US&quot;&gt;2&lt;/span&gt;个小时用在那重复重复再重复，屈指可数那&lt;span lang=&quot;EN-US&quot;&gt;3-5&lt;/span&gt;个一成不变的副本任务上，所以没几天我们便厌倦了。自从《魔兽世界》开始侵噬中华网游大地那刻，一款网游&amp;#8220;副本系统&amp;#8221;设计的好坏往往被商家定位成事关整个游戏品质的极重要环节。为什么地下城模式的副本总能让玩家遐想连篇、无限回味，每一次的进入都能感受新鲜如初？国产网游所谓的副本却永远若脱离不了具有中国特色的任务模式，能不悲哀？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;副本系统设计很困难吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;如果你玩过那些带副本的游戏，相信在你脑海中对于副本这个概念已不陌生。作为策划而言，副本赋予更多的含义是&amp;#8220;团队协作&amp;#8221;、&amp;#8220;独立性&amp;#8221;与&amp;#8220;探险精神&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; mso-ascii-font-family: 宋体&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&amp;#8221;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;，回报更加丰富而神秘，让人向往。在我看来，游戏副本是基于一个特殊的场景搭建的独立空间，辅以诸多规则、限制与达成、触发条件等，配上计时器统和而成。网游副本，其最初存在的目的是为了弥补多玩家交互而导致的单个&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;私人领域体验的缺失，即融入更多单机游戏的元素/特性到网游中。如果将网游的主线任务看做是一个故事的线索，那么副本便是游戏的分支剧情，它通常描述着许多精简却非常饱满而完整的故事情节。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;话说编写具体副本类实在是太过瘾，用代码书写故事剧本，感觉贼带劲。如前文所述，副本，我们可以看做是特殊的场景空间配上一些&lt;span lang=&quot;EN-US&quot;&gt;UI(&lt;/span&gt;阶段描述，任务叙述，倒计时等文字&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;图形界面&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;450&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110623/0.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;于是首先第一步还是创建一个基于&lt;span lang=&quot;EN-US&quot;&gt;ObjectBase&lt;/span&gt;的副本基类 &lt;span lang=&quot;EN-US&quot;&gt;&amp;#8211; InstanceBase&lt;/span&gt;：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('afc239b5-c053-45e1-b87c-ef4ebca05eb1')&quot;&gt;&lt;img  id=&quot;code_img_opened_afc239b5-c053-45e1-b87c-ef4ebca05eb1&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('afc239b5-c053-45e1-b87c-ef4ebca05eb1',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt; 
&lt;div  id=&quot;cnblogs_code_open_afc239b5-c053-45e1-b87c-ef4ebca05eb1&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;副本类型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;None&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HuntingSpiderKind&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GodFam&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRolesEventArgs&amp;nbsp;:&amp;nbsp;EventArgs&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Num&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Mode&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;States&amp;nbsp;State&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Professions&amp;nbsp;Profession&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TacticAIs&amp;nbsp;TacticAI&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEventArgs&amp;nbsp;:&amp;nbsp;EventArgs&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport&amp;nbsp;Destination&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;副本基类&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;abstract&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceBase&amp;nbsp;:&amp;nbsp;ObjectBase&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;event&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;AddRolesEventArgs&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRoles;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;event&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;LeaveEventArgs&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Leave;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Grid&amp;nbsp;grid&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Grid();&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock&amp;nbsp;title&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock()&amp;nbsp;{&amp;nbsp;Foreground&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;SolidColorBrush(Colors.Red),&amp;nbsp;FontSize&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;24&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock&amp;nbsp;description&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock()&amp;nbsp;{&amp;nbsp;Foreground&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;SolidColorBrush(Colors.White),&amp;nbsp;FontSize&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;22&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;TextWrapping&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextWrapping.Wrap&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock&amp;nbsp;additionalInformation&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock()&amp;nbsp;{&amp;nbsp;Foreground&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;SolidColorBrush(Colors.Orange),&amp;nbsp;FontSize&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DispatcherTimer&amp;nbsp;checkTimer&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DispatcherTimer()&amp;nbsp;{&amp;nbsp;Interval&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromMilliseconds(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;500&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DispatcherTimer&amp;nbsp;countdownTimer&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DispatcherTimer()&amp;nbsp;{&amp;nbsp;Interval&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromSeconds(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;副本所属空间&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Space&amp;nbsp;space;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;参与副本的所有玩家&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;RoleBase&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceBase()&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=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.IsHitTestVisible&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;RowDefinition&amp;nbsp;row&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RowDefinition();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.RowDefinitions.Add(row);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.Children.Add(title);&amp;nbsp;Grid.SetRow(title,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&amp;nbsp;title.HorizontalAlignment&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;HorizontalAlignment.Center;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;row&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RowDefinition();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.RowDefinitions.Add(row);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.Children.Add(description);&amp;nbsp;Grid.SetRow(description,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&amp;nbsp;description.HorizontalAlignment&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;HorizontalAlignment.Center;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;row&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RowDefinition();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.RowDefinitions.Add(row);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.Children.Add(additionalInformation);&amp;nbsp;Grid.SetRow(additionalInformation,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&amp;nbsp;additionalInformation.HorizontalAlignment&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;HorizontalAlignment.Center;&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.Children.Add(grid);&amp;nbsp;Canvas.SetTop(grid,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;85&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;checkTimer.Tick&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EventHandler(StepCheck);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;countdownTimer.Tick&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EventHandler(Countdown);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AdaptiveWindowSize();&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;[]&amp;nbsp;TriggerOrgan&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRolesEvent(AddRolesEventArgs&amp;nbsp;e)&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(AddRoles&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;AddRoles(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;e);&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEvent(LeaveEventArgs&amp;nbsp;e)&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Leave&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;Leave(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;e);&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;abstract&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;StepCheck(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e);&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;abstract&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Countdown(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e);&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;abstract&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Run(List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;RoleBase&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players,&amp;nbsp;Space&amp;nbsp;space);&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;value&quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;SetDescription(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;value)&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(description.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;value)&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;description.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GlobalMethod.RunEffectAnimation(description,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RadialBlur(),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Progress&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;TimeSpan.FromMilliseconds(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1800&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;ExponentialEase()&amp;nbsp;{&amp;nbsp;EasingMode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EasingMode.EaseIn&amp;nbsp;},&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;virtual&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AdaptiveWindowSize()&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;grid.Width&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Application.Current.Host.Content.ActualWidth;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Exit(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;titleText)&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;Dispose(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;title.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;titleText;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;description.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;5秒后自动离开副本&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;GlobalMethod.RunEffectAnimation(title,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Ripple(),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Progress&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;TimeSpan.FromMilliseconds(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;ExponentialEase()&amp;nbsp;{&amp;nbsp;EasingMode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EasingMode.EaseOut&amp;nbsp;},&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;GlobalMethod.SetTimeout(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;退出&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LeaveEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEventArgs()&amp;nbsp;{&amp;nbsp;Destination&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&amp;nbsp;{&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.None,&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthEast,&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;57&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;28&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&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=&quot;color: #800080&quot;&gt;5000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&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;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;以本节&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;源码中的副本&lt;span lang=&quot;EN-US&quot;&gt;-&lt;/span&gt;【&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;猎&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;杀蜘蛛魔王】&lt;span lang=&quot;EN-US&quot;&gt;(HuntingSpiderKind.cs)&lt;/span&gt;为例，首先是定义其中的阶段&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;用&lt;span lang=&quot;EN-US&quot;&gt;Enum&lt;/span&gt;来描述它的故事脉络&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;，这里我用到了中文编码，事实证明了本土语言枚举在副本实现中拥有极高的灵活性，且非常有利于拓展、阅读与维护(前提是还未使用脚本来描述副本)：&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;副本阶段(用本土语言枚举非常有利于拓展维护及阅读)&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps&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;设置右键魔法8级连锁闪电或6级石封箭&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;等待4秒翼族来袭&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;设置右键魔法为7级陨石坠落&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;等待3秒刺客来袭&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;骑上马并移动到59_60附近开启封印&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;在23秒内为武器附上烟火粒子&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;在180秒内消灭蜘蛛魔王&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&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;Dictionary&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Steps,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;stepExplanation&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Dictionary&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Steps,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.设置右键魔法8级连锁闪电或6级石封箭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;切换到【主角】菜单，将右键魔法设置为8级【连环闪电】或6级【石封箭】&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.十二秒内到达传送点,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;传送点已开启，&amp;lt;紧急&amp;gt;请在12秒内穿过石门找到传送点并进入&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.等待4秒翼族来袭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;危险！4秒后【翼族】来袭，准备好你的家伙&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.消灭所有翼族,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;用【连环闪电】或【石封箭】干掉他们&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.进入传送点到达山的彼岸,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;通过传送点到达山的彼岸&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.设置右键魔法为7级陨石坠落,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;注意！大规模【守护刺客】将至，将右键魔法设置为7级【陨石坠落】&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.等待3秒刺客来袭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;危险！3秒后敌军来袭！！&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.消灭所有刺客,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;来一杀一，用【陨石坠落】干掉他们&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.骑上马并移动到59_60附近开启封印,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;【骑上马】并移动到坐标【59,60】附近，点击【主角】菜单中的【开启封印】释放【蜘蛛魔王】！&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.在23秒内为武器附上烟火粒子,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&amp;lt;紧急&amp;gt;【蜘蛛魔王】23秒后将出现！快速点击【主角】菜单，为【武器】附上【烟火】粒子效果&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.在180秒内消灭蜘蛛魔王,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;3分钟内必须消灭【蜘蛛魔王】，否则世界将被瞬间毁灭！！&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.副本完成通过传送门离开,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;副本完成，从传送门离开&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;副本的故事基于阶段性发展，即完成一个阶段故事才会向下一阶段延续，直到达成该阶段完成条件为止，此时就涉及到副本系统规则的设定、达成判定等处理。我的做法是通过计时器状态机配合倒计时器及角色坐标改变事件来处理所有的逻辑判断，这样的框架性效比极好且能实现任意的副本设计需求：&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('5235d81f-d6b0-487e-9d13-3dff6c05637d')&quot;&gt;&lt;img  id=&quot;code_img_opened_5235d81f-d6b0-487e-9d13-3dff6c05637d&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('5235d81f-d6b0-487e-9d13-3dff6c05637d',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt; 
&lt;div  id=&quot;cnblogs_code_open_5235d81f-d6b0-487e-9d13-3dff6c05637d&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps&amp;nbsp;Step&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Steps&amp;nbsp;countdownStep;&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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;secondsRemaining;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;HuntingSpiderKind()&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;title.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;副本【猎杀蜘蛛魔王】&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;TriggerOrgan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;[stepExplanation.Count];&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;override&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Run(List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;RoleBase&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players,&amp;nbsp;Space&amp;nbsp;space)&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=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.space&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;space;&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.players&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].PositionChanged&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DependencyPropertyChangedEventHandler(player0_PositionChanged);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;checkTimer.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;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;离开的传送门(测试用)&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.AddAnimation(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AnimationBase()&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;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;81&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Position&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1320&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1970&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1970&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Tip&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;离开副本&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;space.RunWeather(WeatherTypes.Cloud,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;50&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;进度检查(网络版中为所有玩家都要检测，目前单机只检测players[0]即主角)&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;override&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;StepCheck(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&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;SetDescription(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.Format(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Step&amp;nbsp;{0}:&amp;nbsp;&amp;nbsp;{1}&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)Step,&amp;nbsp;stepExplanation[Step]));&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step)&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.设置右键魔法8级连锁闪电或6级石封箭:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;((players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Level&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Level&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.AddAnimation(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AnimationBase()&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;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;82&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Position&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;583&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1695&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1695&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tip&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;传送点&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.Terrain.AddTeleport(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&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;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;space.Code,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.None,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;46&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;72&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthEast&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;45_68_0,46_68_0,&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;StartCountdown(Steps.十二秒内到达传送点,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.消灭所有翼族:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(space.AllRoles().Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players.Count)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;这样的检测方案只是暂定的，很可能存在BUG&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.进入传送点到达山的彼岸;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.AddAnimation(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AnimationBase()&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;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;82&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Position&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;238&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2018&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2018&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tip&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;传送点&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.Terrain.AddTeleport(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&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;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;space.Code,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.None,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;73&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;25&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthWest&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;63_71_0,62_70_0,62_72_0,&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.设置右键魔法为7级陨石坠落:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Level&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartCountdown(Steps.等待3秒刺客来袭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.消灭所有刺客:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(space.AllRoles().Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players.Count)&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;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.骑上马并移动到59_60附近开启封印;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.骑上马并移动到59_60附近开启封印:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(TriggerOrgan[(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)Step])&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;StartCountdown(Steps.在23秒内为武器附上烟火粒子,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;23&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.在23秒内为武器附上烟火粒子:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].DisplayWeaponParticle)&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;StartCountdown(Steps.在180秒内消灭蜘蛛魔王,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;180&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Monster&amp;nbsp;boss&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Monster(space.Terrain)&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;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3120000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;AttachID&amp;nbsp;=&amp;nbsp;4100000,&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FullName&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;蜘蛛魔王&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LearnedMagic&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Dictionary&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;()&amp;nbsp;{&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;14&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;17&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&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;&amp;nbsp;Profession&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Professions.Monster,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ArmorCode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Direction&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthEast,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;State&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;States.Walking,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Camp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Camps.Eval,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TacticAI&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TacticAIs.GoalLeader,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActionAI&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;ActionAIs.Persistent,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LifeMax&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;640000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Life&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;640000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ATK&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;24059&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1500&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAG&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;500&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEX&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;ObjectBase.RandomSeed.Next(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Coordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;49&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;59&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.AddRole(boss,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RoleAddedEventArgs()&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;&amp;nbsp;RegisterDisposedEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterIntervalTriggerEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterActionTriggerEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterDoAttackEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterDoCastingEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterPositionChangedEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterLifeChangedEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.MusicUri&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Boss&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.在180秒内消灭蜘蛛魔王:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(space.AllRoles().Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players.Count)&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;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.副本完成通过传送门离开;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.MusicUri&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;space.AddAnimation(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AnimationBase()&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;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;81&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Position&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;300&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1591&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1591&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tip&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;传送到【废墟秘境】&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;开始倒计时&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;StartCountdown(Steps&amp;nbsp;step,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;remaining)&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;countdownStep&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;step;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;secondsRemaining&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;remaining;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;countdownTimer.Start();&lt;br /&gt;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;override&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Countdown(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;countdownStep)&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;countdownTimer.Stop();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;additionalInformation.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;additionalInformation.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.Format(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;倒计时:&amp;nbsp;{0}&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;secondsRemaining);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(secondsRemaining&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;additionalInformation.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step)&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.十二秒内到达传送点:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.在23秒内为武器附上烟火粒子:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.在180秒内消灭蜘蛛魔王:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;副本【猎杀蜘蛛魔王】&amp;nbsp;&amp;nbsp;战斗失败&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.等待4秒翼族来袭:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.消灭所有翼族;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AddRolesEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRolesEventArgs()&amp;nbsp;{&amp;nbsp;Num&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Mode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Profession&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Professions.Archer,&amp;nbsp;State&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;States.Riding,&amp;nbsp;TacticAI&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TacticAIs.GoalLeader&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;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.等待3秒刺客来袭:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.消灭所有刺客;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AddRolesEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRolesEventArgs()&amp;nbsp;{&amp;nbsp;Num&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Mode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Profession&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Professions.Assassin,&amp;nbsp;State&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;States.Walking,&amp;nbsp;TacticAI&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TacticAIs.GoalLeader&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;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;secondsRemaining&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;player0_PositionChanged(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;DependencyPropertyChangedEventArgs&amp;nbsp;e)&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;Point&amp;nbsp;p&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Point)(e.NewValue);&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)p.X;&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)p.Y;&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;((x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;41&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;90&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;91&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LeaveEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEventArgs()&amp;nbsp;{&amp;nbsp;Destination&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&amp;nbsp;{&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.None,&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthEast,&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;57&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;28&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&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;Dispose(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.十二秒内到达传送点&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;46&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;72&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartCountdown(Steps.等待4秒翼族来袭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.进入传送点到达山的彼岸&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;73&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;25&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.设置右键魔法为7级陨石坠落;&lt;br /&gt;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.副本完成通过传送门离开&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;((x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;48&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;59&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;48&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;58&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;47&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;58&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LeaveEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEventArgs()&amp;nbsp;{&amp;nbsp;Destination&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&amp;nbsp;{&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.GodFam,&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;101&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.NorthWest,&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;44&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&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;Dispose(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本节源码中我为大家提供了两个副本做为参考：【猎杀蜘蛛魔王】和【神邸秘境】，它们可以独立进行，同时当杀掉【猎杀蜘蛛魔王】副本中的&lt;span lang=&quot;EN-US&quot;&gt;BOSS&lt;/span&gt;后，通过传送门同样可以进入到下一副本【神邸秘境】，这样就构成了副本系统中的连锁副本设计，从而形成&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;无线连通的副本世界&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;，能够满足所有一切的副本设计需求。另外每个副本都包含有&lt;span lang=&quot;EN-US&quot;&gt;10&lt;/span&gt;几个阶段，比如让玩家改变属性、移动到指定坐标、进入传送点、杀光怪、倒计时行为、开启封印&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;使用道具，物品道具都应有相关属性来记录它的各类效果或触发事件&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;、杀掉&lt;span lang=&quot;EN-US&quot;&gt;BOSS&lt;/span&gt;、定时刷怪、跟随移动、对话、守护等等，基于本节副本系统框架制作的副本只有想不到的，没有做不到的&lt;span lang=&quot;EN-US&quot;&gt;(功能实现暂时是硬编码，以后有机会再进一步完善，&lt;/span&gt;细节/方法还可以再优化&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;274&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110623/1.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;做为商业游戏开发，副本系统可以基于脚本构建，同时副本编辑器也必不可少，&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;设计起来并不难，关键点本文已讲述得很清楚了&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;。本文，我以副本功能的实现让大家对副本系统的设计有个入门概念，如何将其制定成像场景一样可动态编辑的对象，这个需要预先对游戏产品中所有副本可能需要拥有最极限的功能需求进行分析，然后在制作好副本编辑器后配以脚本和xml描述文件最终实现最完美的副本系统。另外，如果你体验过本节的&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;相信应该还会有这样的领悟：这副本咋和新手指导&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;入门演示&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;如此相似？没错，其实它们本就同根同源，想想原理便一清二楚了。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;img height=&quot;450&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110623/2.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;副本的最后一个要素便是场景的渲染和背景音乐烘托，在云雾缭绕的秘境中伴随着激荡人心的音乐与&lt;span lang=&quot;EN-US&quot;&gt;BOSS&lt;/span&gt;华丽一战，相信那样的体验足够你珍惜与回味。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;450&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110623/3.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;深思呀，国产网游；副本不仅仅代表着财宝与经验，韵味深长的用户体验才是至尊之道。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本系列源码请到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;目录&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;中下载&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;在线演示地址：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silverfuture.cn/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;http://silverfuture.cn&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2087888.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/06/23/2087888.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>副本不仅仅代表着财宝与经验，韵味深长的用户体验才是至尊之道。自从《魔兽世界》开始侵噬中华网游大地那刻，一款网游“副本系统”设计的坏往往被商家定位成事关整个游戏品质的极重要环节。为什么地下城模式的副本总能让玩家遐想连篇、无限回味，每一次的进入都能感受新鲜如初？国产网游所谓的副本却永远若脱离不了具有中国特色的任务模式，能不悲哀？</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;前段时间晚上&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;把小孩哄睡后带着老婆体验了一把《星辰变》，让我印象较深的可怜只有其副本系统，这里想说并不是《星辰变》的副本有多么有趣；相反，其枯燥到了无生趣可言，几乎你每天都得花费&lt;span lang=&quot;EN-US&quot;&gt;2&lt;/span&gt;个小时用在那重复重复再重复，屈指可数那&lt;span lang=&quot;EN-US&quot;&gt;3-5&lt;/span&gt;个一成不变的副本任务上，所以没几天我们便厌倦了。自从《魔兽世界》开始侵噬中华网游大地那刻，一款网游&amp;#8220;副本系统&amp;#8221;设计的好坏往往被商家定位成事关整个游戏品质的极重要环节。为什么地下城模式的副本总能让玩家遐想连篇、无限回味，每一次的进入都能感受新鲜如初？国产网游所谓的副本却永远若脱离不了具有中国特色的任务模式，能不悲哀？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;副本系统设计很困难吗？&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;如果你玩过那些带副本的游戏，相信在你脑海中对于副本这个概念已不陌生。作为策划而言，副本赋予更多的含义是&amp;#8220;团队协作&amp;#8221;、&amp;#8220;独立性&amp;#8221;与&amp;#8220;探险精神&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; mso-ascii-font-family: 宋体&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&amp;#8221;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;，回报更加丰富而神秘，让人向往。在我看来，游戏副本是基于一个特殊的场景搭建的独立空间，辅以诸多规则、限制与达成、触发条件等，配上计时器统和而成。网游副本，其最初存在的目的是为了弥补多玩家交互而导致的单个&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;私人领域体验的缺失，即融入更多单机游戏的元素/特性到网游中。如果将网游的主线任务看做是一个故事的线索，那么副本便是游戏的分支剧情，它通常描述着许多精简却非常饱满而完整的故事情节。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;话说编写具体副本类实在是太过瘾，用代码书写故事剧本，感觉贼带劲。如前文所述，副本，我们可以看做是特殊的场景空间配上一些&lt;span lang=&quot;EN-US&quot;&gt;UI(&lt;/span&gt;阶段描述，任务叙述，倒计时等文字&lt;span lang=&quot;EN-US&quot;&gt;/&lt;/span&gt;图形界面&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;450&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110623/0.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;于是首先第一步还是创建一个基于&lt;span lang=&quot;EN-US&quot;&gt;ObjectBase&lt;/span&gt;的副本基类 &lt;span lang=&quot;EN-US&quot;&gt;&amp;#8211; InstanceBase&lt;/span&gt;：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('afc239b5-c053-45e1-b87c-ef4ebca05eb1')&quot;&gt;&lt;img  id=&quot;code_img_opened_afc239b5-c053-45e1-b87c-ef4ebca05eb1&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('afc239b5-c053-45e1-b87c-ef4ebca05eb1',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt; 
&lt;div  id=&quot;cnblogs_code_open_afc239b5-c053-45e1-b87c-ef4ebca05eb1&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;副本类型&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;None&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HuntingSpiderKind&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GodFam&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRolesEventArgs&amp;nbsp;:&amp;nbsp;EventArgs&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Num&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Mode&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;States&amp;nbsp;State&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Professions&amp;nbsp;Profession&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TacticAIs&amp;nbsp;TacticAI&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEventArgs&amp;nbsp;:&amp;nbsp;EventArgs&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport&amp;nbsp;Destination&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;副本基类&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;abstract&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceBase&amp;nbsp;:&amp;nbsp;ObjectBase&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;event&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;AddRolesEventArgs&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRoles;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;event&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EventHandler&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;LeaveEventArgs&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Leave;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Grid&amp;nbsp;grid&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Grid();&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock&amp;nbsp;title&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock()&amp;nbsp;{&amp;nbsp;Foreground&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;SolidColorBrush(Colors.Red),&amp;nbsp;FontSize&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;24&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock&amp;nbsp;description&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock()&amp;nbsp;{&amp;nbsp;Foreground&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;SolidColorBrush(Colors.White),&amp;nbsp;FontSize&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;22&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;TextWrapping&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextWrapping.Wrap&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock&amp;nbsp;additionalInformation&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TextBlock()&amp;nbsp;{&amp;nbsp;Foreground&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;SolidColorBrush(Colors.Orange),&amp;nbsp;FontSize&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DispatcherTimer&amp;nbsp;checkTimer&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DispatcherTimer()&amp;nbsp;{&amp;nbsp;Interval&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromMilliseconds(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;500&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DispatcherTimer&amp;nbsp;countdownTimer&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DispatcherTimer()&amp;nbsp;{&amp;nbsp;Interval&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TimeSpan.FromSeconds(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;副本所属空间&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Space&amp;nbsp;space;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;参与副本的所有玩家&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;RoleBase&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceBase()&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=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.IsHitTestVisible&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;RowDefinition&amp;nbsp;row&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RowDefinition();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.RowDefinitions.Add(row);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.Children.Add(title);&amp;nbsp;Grid.SetRow(title,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&amp;nbsp;title.HorizontalAlignment&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;HorizontalAlignment.Center;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;row&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RowDefinition();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.RowDefinitions.Add(row);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.Children.Add(description);&amp;nbsp;Grid.SetRow(description,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&amp;nbsp;description.HorizontalAlignment&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;HorizontalAlignment.Center;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;row&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RowDefinition();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.RowDefinitions.Add(row);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.Children.Add(additionalInformation);&amp;nbsp;Grid.SetRow(additionalInformation,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&amp;nbsp;additionalInformation.HorizontalAlignment&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;HorizontalAlignment.Center;&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.Children.Add(grid);&amp;nbsp;Canvas.SetTop(grid,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;85&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;checkTimer.Tick&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EventHandler(StepCheck);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;countdownTimer.Tick&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EventHandler(Countdown);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AdaptiveWindowSize();&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;[]&amp;nbsp;TriggerOrgan&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRolesEvent(AddRolesEventArgs&amp;nbsp;e)&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(AddRoles&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;AddRoles(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;e);&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEvent(LeaveEventArgs&amp;nbsp;e)&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Leave&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;Leave(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;e);&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;abstract&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;StepCheck(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e);&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=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;abstract&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Countdown(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e);&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;abstract&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Run(List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;RoleBase&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players,&amp;nbsp;Space&amp;nbsp;space);&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;value&quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;SetDescription(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;value)&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(description.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;value)&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;description.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GlobalMethod.RunEffectAnimation(description,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RadialBlur(),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Progress&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;TimeSpan.FromMilliseconds(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1800&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;ExponentialEase()&amp;nbsp;{&amp;nbsp;EasingMode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EasingMode.EaseIn&amp;nbsp;},&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;virtual&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AdaptiveWindowSize()&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;grid.Width&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Application.Current.Host.Content.ActualWidth;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Exit(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;titleText)&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;Dispose(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;title.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;titleText;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;description.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;5秒后自动离开副本&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;GlobalMethod.RunEffectAnimation(title,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Ripple(),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Progress&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;TimeSpan.FromMilliseconds(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;ExponentialEase()&amp;nbsp;{&amp;nbsp;EasingMode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;EasingMode.EaseOut&amp;nbsp;},&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;GlobalMethod.SetTimeout(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;delegate&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;退出&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LeaveEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEventArgs()&amp;nbsp;{&amp;nbsp;Destination&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&amp;nbsp;{&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.None,&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthEast,&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;57&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;28&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&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=&quot;color: #800080&quot;&gt;5000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&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;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;以本节&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;源码中的副本&lt;span lang=&quot;EN-US&quot;&gt;-&lt;/span&gt;【&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;猎&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;杀蜘蛛魔王】&lt;span lang=&quot;EN-US&quot;&gt;(HuntingSpiderKind.cs)&lt;/span&gt;为例，首先是定义其中的阶段&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;用&lt;span lang=&quot;EN-US&quot;&gt;Enum&lt;/span&gt;来描述它的故事脉络&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;，这里我用到了中文编码，事实证明了本土语言枚举在副本实现中拥有极高的灵活性，且非常有利于拓展、阅读与维护(前提是还未使用脚本来描述副本)：&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;副本阶段(用本土语言枚举非常有利于拓展维护及阅读)&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;enum&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps&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;设置右键魔法8级连锁闪电或6级石封箭&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;等待4秒翼族来袭&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;设置右键魔法为7级陨石坠落&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;等待3秒刺客来袭&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;骑上马并移动到59_60附近开启封印&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;在23秒内为武器附上烟火粒子&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;在180秒内消灭蜘蛛魔王&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&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;Dictionary&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Steps,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;stepExplanation&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Dictionary&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Steps,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.设置右键魔法8级连锁闪电或6级石封箭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;切换到【主角】菜单，将右键魔法设置为8级【连环闪电】或6级【石封箭】&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.十二秒内到达传送点,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;传送点已开启，&amp;lt;紧急&amp;gt;请在12秒内穿过石门找到传送点并进入&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.等待4秒翼族来袭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;危险！4秒后【翼族】来袭，准备好你的家伙&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.消灭所有翼族,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;用【连环闪电】或【石封箭】干掉他们&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.进入传送点到达山的彼岸,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;通过传送点到达山的彼岸&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.设置右键魔法为7级陨石坠落,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;注意！大规模【守护刺客】将至，将右键魔法设置为7级【陨石坠落】&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.等待3秒刺客来袭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;危险！3秒后敌军来袭！！&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.消灭所有刺客,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;来一杀一，用【陨石坠落】干掉他们&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.骑上马并移动到59_60附近开启封印,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;【骑上马】并移动到坐标【59,60】附近，点击【主角】菜单中的【开启封印】释放【蜘蛛魔王】！&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.在23秒内为武器附上烟火粒子,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&amp;lt;紧急&amp;gt;【蜘蛛魔王】23秒后将出现！快速点击【主角】菜单，为【武器】附上【烟火】粒子效果&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.在180秒内消灭蜘蛛魔王,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;3分钟内必须消灭【蜘蛛魔王】，否则世界将被瞬间毁灭！！&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;{Steps.副本完成通过传送门离开,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;副本完成，从传送门离开&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;副本的故事基于阶段性发展，即完成一个阶段故事才会向下一阶段延续，直到达成该阶段完成条件为止，此时就涉及到副本系统规则的设定、达成判定等处理。我的做法是通过计时器状态机配合倒计时器及角色坐标改变事件来处理所有的逻辑判断，这样的框架性效比极好且能实现任意的副本设计需求：&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot; onclick=&quot;cnblogs_code_show('5235d81f-d6b0-487e-9d13-3dff6c05637d')&quot;&gt;&lt;img  id=&quot;code_img_opened_5235d81f-d6b0-487e-9d13-3dff6c05637d&quot; style=&quot;display: none&quot; onclick=&quot;cnblogs_code_hide('5235d81f-d6b0-487e-9d13-3dff6c05637d',event)&quot; src=&quot;http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif&quot;&gt; 
&lt;div  id=&quot;cnblogs_code_open_5235d81f-d6b0-487e-9d13-3dff6c05637d&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps&amp;nbsp;Step&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Steps&amp;nbsp;countdownStep;&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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;secondsRemaining;&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;HuntingSpiderKind()&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;title.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;副本【猎杀蜘蛛魔王】&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;TriggerOrgan&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;[stepExplanation.Count];&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;override&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Run(List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;RoleBase&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players,&amp;nbsp;Space&amp;nbsp;space)&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=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.space&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;space;&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.players&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].PositionChanged&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DependencyPropertyChangedEventHandler(player0_PositionChanged);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;checkTimer.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;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;离开的传送门(测试用)&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.AddAnimation(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AnimationBase()&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;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;81&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Position&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1320&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1970&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1970&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Tip&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;离开副本&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;space.RunWeather(WeatherTypes.Cloud,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;50&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;);&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;进度检查(网络版中为所有玩家都要检测，目前单机只检测players[0]即主角)&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;override&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;StepCheck(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&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;SetDescription(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.Format(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Step&amp;nbsp;{0}:&amp;nbsp;&amp;nbsp;{1}&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)Step,&amp;nbsp;stepExplanation[Step]));&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step)&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.设置右键魔法8级连锁闪电或6级石封箭:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;((players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Level&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Level&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.AddAnimation(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AnimationBase()&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;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;82&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Position&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;583&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1695&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1695&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tip&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;传送点&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.Terrain.AddTeleport(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&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;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;space.Code,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.None,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;46&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;72&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthEast&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;45_68_0,46_68_0,&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;StartCountdown(Steps.十二秒内到达传送点,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.消灭所有翼族:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(space.AllRoles().Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players.Count)&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;这样的检测方案只是暂定的，很可能存在BUG&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.进入传送点到达山的彼岸;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.AddAnimation(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AnimationBase()&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;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;82&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Position&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;238&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2018&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2018&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tip&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;传送点&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.Terrain.AddTeleport(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&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;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;space.Code,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.None,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;73&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;25&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthWest&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;63_71_0,62_70_0,62_72_0,&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.设置右键魔法为7级陨石坠落:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Level&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].CurrentMagic.Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartCountdown(Steps.等待3秒刺客来袭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.消灭所有刺客:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(space.AllRoles().Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players.Count)&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;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.骑上马并移动到59_60附近开启封印;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.骑上马并移动到59_60附近开启封印:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(TriggerOrgan[(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)Step])&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;StartCountdown(Steps.在23秒内为武器附上烟火粒子,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;23&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.在23秒内为武器附上烟火粒子:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(players[&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;].DisplayWeaponParticle)&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;StartCountdown(Steps.在180秒内消灭蜘蛛魔王,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;180&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;Monster&amp;nbsp;boss&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Monster(space.Terrain)&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;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3120000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;AttachID&amp;nbsp;=&amp;nbsp;4100000,&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FullName&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;蜘蛛魔王&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LearnedMagic&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Dictionary&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;()&amp;nbsp;{&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;14&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;17&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;},&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&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;&amp;nbsp;Profession&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Professions.Monster,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ArmorCode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Direction&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthEast,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;State&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;States.Walking,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Camp&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Camps.Eval,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TacticAI&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TacticAIs.GoalLeader,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActionAI&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;ActionAIs.Persistent,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LifeMax&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;640000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Life&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;640000&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ATK&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;24059&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1500&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAG&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;500&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEX&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;ObjectBase.RandomSeed.Next(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Coordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;49&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;59&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.AddRole(boss,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;RoleAddedEventArgs()&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;&amp;nbsp;RegisterDisposedEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterIntervalTriggerEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterActionTriggerEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterDoAttackEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterDoCastingEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterPositionChangedEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterLifeChangedEvent&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.MusicUri&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;Boss&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.在180秒内消灭蜘蛛魔王:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(space.AllRoles().Count&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;players.Count)&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;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.副本完成通过传送门离开;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;space.MusicUri&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;space.AddAnimation(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AnimationBase()&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;&amp;nbsp;ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Code&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;81&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Position&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;300&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1591&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Z&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1591&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tip&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;传送到【废墟秘境】&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;开始倒计时&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;StartCountdown(Steps&amp;nbsp;step,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;remaining)&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;countdownStep&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;step;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;secondsRemaining&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;remaining;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;countdownTimer.Start();&lt;br /&gt;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;protected&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;override&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Countdown(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;countdownStep)&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;countdownTimer.Stop();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;additionalInformation.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;additionalInformation.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;.Format(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;倒计时:&amp;nbsp;{0}&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;secondsRemaining);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(secondsRemaining&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;additionalInformation.Text&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step)&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.十二秒内到达传送点:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.在23秒内为武器附上烟火粒子:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.在180秒内消灭蜘蛛魔王:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit(&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;副本【猎杀蜘蛛魔王】&amp;nbsp;&amp;nbsp;战斗失败&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.等待4秒翼族来袭:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.消灭所有翼族;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AddRolesEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRolesEventArgs()&amp;nbsp;{&amp;nbsp;Num&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Mode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Profession&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Professions.Archer,&amp;nbsp;State&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;States.Riding,&amp;nbsp;TacticAI&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TacticAIs.GoalLeader&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;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.等待3秒刺客来袭:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.消灭所有刺客;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AddRolesEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AddRolesEventArgs()&amp;nbsp;{&amp;nbsp;Num&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Mode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;Profession&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Professions.Assassin,&amp;nbsp;State&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;States.Walking,&amp;nbsp;TacticAI&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;TacticAIs.GoalLeader&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;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;secondsRemaining&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;player0_PositionChanged(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sender,&amp;nbsp;DependencyPropertyChangedEventArgs&amp;nbsp;e)&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;Point&amp;nbsp;p&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Point)(e.NewValue);&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)p.X;&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)p.Y;&lt;br /&gt;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;((x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;41&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;90&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;91&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LeaveEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEventArgs()&amp;nbsp;{&amp;nbsp;Destination&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&amp;nbsp;{&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.None,&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.SouthEast,&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;57&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;28&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&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;Dispose(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.十二秒内到达传送点&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;46&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;72&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartCountdown(Steps.等待4秒翼族来袭,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.进入传送点到达山的彼岸&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;73&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;25&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.设置右键魔法为7级陨石坠落;&lt;br /&gt;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Step&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Steps.副本完成通过传送门离开&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;((x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;48&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;59&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;48&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;58&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;47&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;58&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LeaveEvent(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;LeaveEventArgs()&amp;nbsp;{&amp;nbsp;Destination&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Teleport()&amp;nbsp;{&amp;nbsp;Instance&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InstanceTypes.GodFam,&amp;nbsp;ToSpace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;101&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;ToDirection&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Directions.NorthWest,&amp;nbsp;ToCoordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Point(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;44&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&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;Dispose(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本节源码中我为大家提供了两个副本做为参考：【猎杀蜘蛛魔王】和【神邸秘境】，它们可以独立进行，同时当杀掉【猎杀蜘蛛魔王】副本中的&lt;span lang=&quot;EN-US&quot;&gt;BOSS&lt;/span&gt;后，通过传送门同样可以进入到下一副本【神邸秘境】，这样就构成了副本系统中的连锁副本设计，从而形成&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;无线连通的副本世界&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;，能够满足所有一切的副本设计需求。另外每个副本都包含有&lt;span lang=&quot;EN-US&quot;&gt;10&lt;/span&gt;几个阶段，比如让玩家改变属性、移动到指定坐标、进入传送点、杀光怪、倒计时行为、开启封印&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;使用道具，物品道具都应有相关属性来记录它的各类效果或触发事件&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;、杀掉&lt;span lang=&quot;EN-US&quot;&gt;BOSS&lt;/span&gt;、定时刷怪、跟随移动、对话、守护等等，基于本节副本系统框架制作的副本只有想不到的，没有做不到的&lt;span lang=&quot;EN-US&quot;&gt;(功能实现暂时是硬编码，以后有机会再进一步完善，&lt;/span&gt;细节/方法还可以再优化&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%; text-align: left; mso-layout-grid-align: none&quot; align=&quot;left&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;274&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110623/1.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;做为商业游戏开发，副本系统可以基于脚本构建，同时副本编辑器也必不可少，&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;设计起来并不难，关键点本文已讲述得很清楚了&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;。本文，我以副本功能的实现让大家对副本系统的设计有个入门概念，如何将其制定成像场景一样可动态编辑的对象，这个需要预先对游戏产品中所有副本可能需要拥有最极限的功能需求进行分析，然后在制作好副本编辑器后配以脚本和xml描述文件最终实现最完美的副本系统。另外，如果你体验过本节的&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;相信应该还会有这样的领悟：这副本咋和新手指导&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;入门演示&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;如此相似？没错，其实它们本就同根同源，想想原理便一清二楚了。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;img height=&quot;450&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110623/2.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;副本的最后一个要素便是场景的渲染和背景音乐烘托，在云雾缭绕的秘境中伴随着激荡人心的音乐与&lt;span lang=&quot;EN-US&quot;&gt;BOSS&lt;/span&gt;华丽一战，相信那样的体验足够你珍惜与回味。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;450&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110623/3.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;深思呀，国产网游；副本不仅仅代表着财宝与经验，韵味深长的用户体验才是至尊之道。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本系列源码请到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;目录&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;中下载&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;在线演示地址：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silverfuture.cn/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;http://silverfuture.cn&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2087888.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/06/23/2087888.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Thu, 23 Jun 2011 10:58:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/06/23/2087888.html</guid><dc:creator>深蓝色右手</dc:creator></item><item><title>Silverlight 2.5D RPG游戏技巧与特效处理：（十九）基于WCF的注册与登录</title><id xmlns="http://www.w3.org/2005/Atom">http://www.cnblogs.com/alamiye010/archive/2011/06/08/2075420.html</id><author xmlns="http://www.w3.org/2005/Atom"><name>深蓝色右手</name><uri>http://www.cnblogs.com/alamiye010/</uri></author><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;最后还剩下游戏入口部分，&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;是客户端插件，因此首选&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;作为它与服务器端数据库的桥接。撇去&lt;span lang=&quot;EN-US&quot;&gt;UI&lt;/span&gt;方面华丽的动态角色创建与选择不再多说，本节的重点便是在教程&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;的基础上整合进基于&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;的注册与登陆等操作，使之最终成为一款相对完整而五脏俱全的&lt;span lang=&quot;EN-US&quot;&gt;RPG&lt;/span&gt;作品。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;依旧钟情于&lt;span lang=&quot;EN-US&quot;&gt;LINQ&lt;/span&gt;，因此&lt;span lang=&quot;EN-US&quot;&gt;LINQ to SQL&lt;/span&gt;成为我操作数据库的首选。强烈建议大家首先参考这篇文章：&lt;/span&gt;&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; color: black; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt&quot;&gt;&lt;a href=&quot;http://blog.csdn.net/timet/archive/2008/12/31/3670808.aspxhttp:/blog.csdn.net/timet/archive/2008/12/31/3670808.aspx&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;数据库&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;LINQ TO SQL&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;在&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;中的应用&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(WCF)&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt; ,&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;其中的所有细节都已阐述得相当详细。如果你的电脑中存有之前的&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;源码，那么接下来你可以按照下面的步骤跟着我一步步从零开始搭建游戏的登陆部分，真真切切的体会&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;技术在&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;中的常规应用。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第一步：依照游戏中角色注册、创建、相关信息及登录等需求设计数据库，并编写好相应可能会用到的增删改查等存储过程&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;本节&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;源码中附带了名为&lt;span lang=&quot;EN-US&quot;&gt;FS3.sql&lt;/span&gt;的数据库文件，表和存储过程都在其中&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第二步：在&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的寄主&lt;span lang=&quot;EN-US&quot;&gt;Web&lt;/span&gt;项目中右键&lt;span lang=&quot;EN-US&quot;&gt;-&amp;gt;&lt;/span&gt;添加新项目&lt;span lang=&quot;EN-US&quot;&gt;-&amp;gt;LINQ to SQL&lt;/span&gt;映射类，这里我取名为&lt;span lang=&quot;EN-US&quot;&gt;L2S.dbml&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;548&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/1.jpg&quot; width=&quot;561&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第三步：打开&lt;span lang=&quot;EN-US&quot;&gt;VS&lt;/span&gt;视图中的服务器资源管理器，右键添加&lt;span lang=&quot;EN-US&quot;&gt;SQL&lt;/span&gt;连接到&lt;span lang=&quot;EN-US&quot;&gt;FS3(SQL&lt;/span&gt;版本最好&lt;span lang=&quot;EN-US&quot;&gt;2005&lt;/span&gt;以上&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;后将其中的表和存储过程等均拖到&lt;span lang=&quot;EN-US&quot;&gt;L2S.dbml&lt;/span&gt;的设计窗口中形成大家再熟悉不过的映射：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/2.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第四步：此时便可编写&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;操作类了&lt;span lang=&quot;EN-US&quot;&gt;,&lt;/span&gt;在&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的寄主&lt;span lang=&quot;EN-US&quot;&gt;Web&lt;/span&gt;项目中右键&lt;span lang=&quot;EN-US&quot;&gt;-&amp;gt;&lt;/span&gt;添加&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;服务，取名为&lt;span lang=&quot;EN-US&quot;&gt;WCFService.svc&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/3.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;需要特别注意的是带返回类型的存储过程需要修改其相应属性为表实体，否则后面的逻辑查找不到：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/4.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第五步：编写具体操作逻辑，搞过&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;开发的朋友此处可完全忽略，超级简单；没搞过的也很容易看懂，具体就不多说啦，直接列代码：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ServiceContract(Namespace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[AspNetCompatibilityRequirements(RequirementsMode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AspNetCompatibilityRequirementsMode.Allowed)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ServiceBehavior(IncludeExceptionDetailInFaults&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;WCFService&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DoWork()&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;新用户的ID，0则表示失败&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InsertUser(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;password,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;realName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;idCard,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;eMail,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;address)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Convert.ToInt64(dc.p_InsertUser(userName,&amp;nbsp;password,&amp;nbsp;realName,&amp;nbsp;idCard,&amp;nbsp;eMail,&amp;nbsp;address,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;).ReturnValue);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;userName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用户名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;0表示不存在&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;CheckUserExist(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_CheckUserExist(userName);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;userName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用户名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;password&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;密码&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;0表示不匹配&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;UserLogonValidate(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;password)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_CheckUserLogon(userName,&amp;nbsp;password);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;name&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;角色名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;0表示不存在&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;CheckRoleExist(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;name)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_CheckRoleExist(name);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;userName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用户名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;角色数&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetUserRoleNum(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_GetUserRoleNum(userName);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;新角色的ID，0则表示失败&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InsertRole(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;name,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;avatar,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sex,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;occupation,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;roleLevel,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;experience,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;mapID,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastIP,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;remarks)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Convert.ToInt64(dc.p_InsertRole(userName,&amp;nbsp;name,&amp;nbsp;avatar,&amp;nbsp;sex,&amp;nbsp;occupation,&amp;nbsp;roleLevel,&amp;nbsp;experience,&amp;nbsp;mapID,&amp;nbsp;lastIP,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;).ReturnValue);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;userName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用户名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;创建的所有角色&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Role&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetRoleByUserName(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_GetRoleByUserName(userName).ToList&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Role&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;roleName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;角色名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;失败0，成功1&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DeleteRole(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;roleName)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_DeleteRole(roleName);&lt;br /&gt;&amp;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;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第六步：也是最后一步，在&lt;span lang=&quot;EN-US&quot;&gt;RPGEffectsDemo&lt;/span&gt;项目中右键添加服务引用&lt;span lang=&quot;EN-US&quot;&gt;(Service References)&lt;/span&gt;，然后检索到&lt;span lang=&quot;EN-US&quot;&gt;WCFService.svc&lt;/span&gt;完成即可。接着发布网站，并在&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;服务器端配置好&lt;span lang=&quot;EN-US&quot;&gt;IIS&lt;/span&gt;，整个流程到此结束。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;参照如上步骤搭建的&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;框架，如果服务器&lt;span lang=&quot;EN-US&quot;&gt;(IIS)&lt;/span&gt;或数据库相关数据参数发生变动则仅需修改以下两个文件：&lt;span lang=&quot;EN-US&quot;&gt;ServiceReferences.ClientConfig&lt;/span&gt;和&lt;span lang=&quot;EN-US&quot;&gt;Web.config&lt;/span&gt;，具体位置如下，参数很好理解，尤其是搞过这方面开发的朋友更无须多说：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;271&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/5.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/6.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;一切&lt;span lang=&quot;EN-US&quot;&gt;OK&lt;/span&gt;后，以游戏登陆时输入用户名与密码的窗体为例，我们可通过类似以下的代码创建&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;连接以及处理相应逻辑：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WCFServiceClient&amp;nbsp;wcfServiceClient&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;WCFServiceClient();&lt;br /&gt;wcfServiceClient.UserLogonValidateAsync(userName.Text.Trim(),&amp;nbsp;GlobalMethod.Encrypt(pwd.Password));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wcfServiceClient.UserLogonValidateCompleted&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(wcfs1,&amp;nbsp;wcfe1)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(wcfe1.Result&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LoginManager.UserName&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName.Text.Trim();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Login&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;Login(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LoginManager.loading.Hide();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LoginManager.loginTip.Show(GetLanguagePackContent(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;),&amp;nbsp;LoginTipMode.TipOnly);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;wcfServiceClient.CloseAsync();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;与&lt;span lang=&quot;EN-US&quot;&gt;ASP.NET&lt;/span&gt;页面设计类似，游戏中比如语言选择、版本说明、登陆、注册、角色创建、角色选择、物品窗口、属性窗口等每个窗体我们都可以单独的控件类文件存在，并为它们内部的每个需要交互的按钮设置对应的事件以实现与其他对象的交互消灭耦合：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;400&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/7.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;另外，&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;使用了动态多国语言设计，众所周知同一词汇在不同语言书写中存在长度差异，因此语言包中还应在需要的地方添加上&lt;span lang=&quot;EN-US&quot;&gt;Offset&lt;/span&gt;和&lt;span lang=&quot;EN-US&quot;&gt;FontSize&lt;/span&gt;参数以使得界面看上去更协调整洁：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/8.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;278&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/9.jpg&quot; width=&quot;594&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;Silverlight&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;动态多国语言设计模式对于&lt;span lang=&quot;EN-US&quot;&gt;WebGame&lt;/span&gt;来说可轻松实现玩家跨国交互和竞技，可谓真正能实现网游国际化的&lt;span lang=&quot;EN-US&quot;&gt;RIA&lt;/span&gt;技术；这才是&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;页游即将为世界所缔造的网游领域新的蓝海！&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: #ff6600&quot;&gt;第四次游戏革命：网页网游全球一体化&lt;/span&gt;&lt;/strong&gt;。试想不同民族、不同国籍的玩家在一款游戏中同场竞技或&lt;span lang=&quot;EN-US&quot;&gt;SNS&lt;/span&gt;中相互交流，尤其是亚洲，中、港、台、日、韩、越、泰等周边国家的游戏玩家齐聚一堂，共享世纪网游大作，那将是一件多么伟大而具有划时代意义的历史记忆！不远了，多少前辈曾经为了这个梦想而奋斗青春，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/144816.htm&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;当微&lt;span lang=&quot;EN-US&quot;&gt;软为了Silverlight&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;能兼&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;具&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;更强劲的GPU&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;而收购NVIDIA&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;时&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;，当&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/104577/&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;Silverlight 5&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;正式版浩瀚问世之时，那才是网游世界新的春天！&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/10.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/14/2015690.html&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;XNA&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;已成为Silverlight.XNA&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;，无可厚非&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;必将成为微软未来平台统一与兼容的首选&lt;span lang=&quot;EN-US&quot;&gt;~!&lt;/span&gt;兼具高开发效率、优秀用户体验及跨平台等诸多优势最具潜力的&lt;span lang=&quot;EN-US&quot;&gt;RIA&lt;/span&gt;技术，未来将与&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;共舞，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.win7china.com/html/15439.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;优势互补&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;一统所有网络应用。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本系列源码请到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;目录&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;中下载&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;在线演示地址：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silverfuture.cn/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;http://silverfuture.cn&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2075420.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/06/08/2075420.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content><description>Silverlight动态多国语言设计模式对于WebGame来说可轻松实现玩家跨国交互和竞技，可谓真正能实现网游国际化的RIA技术；这才是Silverlight页游即将为世界所缔造的网游领域新的蓝海！第四次游戏革命：网页网游全球一体化。试想不同民族、不同国籍的玩家在一款游戏中同场竞技或SNS中相互交流，尤其是亚洲，中、港、台、日、韩、越、泰等周边国家的游戏玩家齐聚一堂，共享世纪网游大作，那将是一件多么伟大而具有划时代意义的历史记忆！</description><content:encoded>&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;最后还剩下游戏入口部分，&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;是客户端插件，因此首选&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;作为它与服务器端数据库的桥接。撇去&lt;span lang=&quot;EN-US&quot;&gt;UI&lt;/span&gt;方面华丽的动态角色创建与选择不再多说，本节的重点便是在教程&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;的基础上整合进基于&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;的注册与登陆等操作，使之最终成为一款相对完整而五脏俱全的&lt;span lang=&quot;EN-US&quot;&gt;RPG&lt;/span&gt;作品。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;依旧钟情于&lt;span lang=&quot;EN-US&quot;&gt;LINQ&lt;/span&gt;，因此&lt;span lang=&quot;EN-US&quot;&gt;LINQ to SQL&lt;/span&gt;成为我操作数据库的首选。强烈建议大家首先参考这篇文章：&lt;/span&gt;&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 12pt; color: black; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt&quot;&gt;&lt;a href=&quot;http://blog.csdn.net/timet/archive/2008/12/31/3670808.aspxhttp:/blog.csdn.net/timet/archive/2008/12/31/3670808.aspx&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;数据库&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;LINQ TO SQL&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;在&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Silverlight&lt;/font&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;中的应用&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;(WCF)&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt; ,&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;其中的所有细节都已阐述得相当详细。如果你的电脑中存有之前的&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;源码，那么接下来你可以按照下面的步骤跟着我一步步从零开始搭建游戏的登陆部分，真真切切的体会&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;技术在&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;中的常规应用。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第一步：依照游戏中角色注册、创建、相关信息及登录等需求设计数据库，并编写好相应可能会用到的增删改查等存储过程&lt;span lang=&quot;EN-US&quot;&gt;(&lt;/span&gt;本节&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;源码中附带了名为&lt;span lang=&quot;EN-US&quot;&gt;FS3.sql&lt;/span&gt;的数据库文件，表和存储过程都在其中&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第二步：在&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的寄主&lt;span lang=&quot;EN-US&quot;&gt;Web&lt;/span&gt;项目中右键&lt;span lang=&quot;EN-US&quot;&gt;-&amp;gt;&lt;/span&gt;添加新项目&lt;span lang=&quot;EN-US&quot;&gt;-&amp;gt;LINQ to SQL&lt;/span&gt;映射类，这里我取名为&lt;span lang=&quot;EN-US&quot;&gt;L2S.dbml&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;v:shapetype id=&quot;_x0000_t75&quot; coordsize=&quot;21600,21600&quot; o:spt=&quot;75&quot; o:preferrelative=&quot;t&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; filled=&quot;f&quot; stroked=&quot;f&quot;&gt;&lt;v:stroke joinstyle=&quot;miter&quot;&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;&lt;/v:f&gt;&lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok=&quot;f&quot; gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot;&gt;&lt;/v:path&gt;&lt;o:lock v:ext=&quot;edit&quot; aspectratio=&quot;t&quot;&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;img height=&quot;548&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/1.jpg&quot; width=&quot;561&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第三步：打开&lt;span lang=&quot;EN-US&quot;&gt;VS&lt;/span&gt;视图中的服务器资源管理器，右键添加&lt;span lang=&quot;EN-US&quot;&gt;SQL&lt;/span&gt;连接到&lt;span lang=&quot;EN-US&quot;&gt;FS3(SQL&lt;/span&gt;版本最好&lt;span lang=&quot;EN-US&quot;&gt;2005&lt;/span&gt;以上&lt;span lang=&quot;EN-US&quot;&gt;)&lt;/span&gt;后将其中的表和存储过程等均拖到&lt;span lang=&quot;EN-US&quot;&gt;L2S.dbml&lt;/span&gt;的设计窗口中形成大家再熟悉不过的映射：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/2.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第四步：此时便可编写&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;操作类了&lt;span lang=&quot;EN-US&quot;&gt;,&lt;/span&gt;在&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;的寄主&lt;span lang=&quot;EN-US&quot;&gt;Web&lt;/span&gt;项目中右键&lt;span lang=&quot;EN-US&quot;&gt;-&amp;gt;&lt;/span&gt;添加&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;服务，取名为&lt;span lang=&quot;EN-US&quot;&gt;WCFService.svc&lt;/span&gt;：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/3.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;需要特别注意的是带返回类型的存储过程需要修改其相应属性为表实体，否则后面的逻辑查找不到：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/4.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第五步：编写具体操作逻辑，搞过&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;开发的朋友此处可完全忽略，超级简单；没搞过的也很容易看懂，具体就不多说啦，直接列代码：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ServiceContract(Namespace&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[AspNetCompatibilityRequirements(RequirementsMode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;AspNetCompatibilityRequirementsMode.Allowed)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ServiceBehavior(IncludeExceptionDetailInFaults&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;WCFService&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DoWork()&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;新用户的ID，0则表示失败&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InsertUser(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;password,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;realName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;idCard,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;eMail,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;address)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Convert.ToInt64(dc.p_InsertUser(userName,&amp;nbsp;password,&amp;nbsp;realName,&amp;nbsp;idCard,&amp;nbsp;eMail,&amp;nbsp;address,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;).ReturnValue);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;userName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用户名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;0表示不存在&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;CheckUserExist(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_CheckUserExist(userName);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;userName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用户名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;password&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;密码&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;0表示不匹配&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;UserLogonValidate(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;password)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_CheckUserLogon(userName,&amp;nbsp;password);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;name&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;角色名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;0表示不存在&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;CheckRoleExist(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;name)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_CheckRoleExist(name);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;userName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用户名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;角色数&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetUserRoleNum(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_GetUserRoleNum(userName);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;新角色的ID，0则表示失败&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;InsertRole(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;name,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;avatar,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;sex,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;occupation,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;roleLevel,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;experience,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;long&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;mapID,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;lastIP,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;remarks)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;Convert.ToInt64(dc.p_InsertRole(userName,&amp;nbsp;name,&amp;nbsp;avatar,&amp;nbsp;sex,&amp;nbsp;occupation,&amp;nbsp;roleLevel,&amp;nbsp;experience,&amp;nbsp;mapID,&amp;nbsp;lastIP,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;).ReturnValue);&lt;br /&gt;&amp;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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;userName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;用户名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;创建的所有角色&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Role&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;GetRoleByUserName(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_GetRoleByUserName(userName).ToList&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;Role&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;param&amp;nbsp;name=&quot;roleName&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;角色名&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&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=&quot;color: #808080&quot;&gt;///&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;失败0，成功1&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #808080&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[OperationContract]&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=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;DeleteRole(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;roleName)&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=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(L2SDataContext&amp;nbsp;dc&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;L2SDataContext())&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=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;dc.p_DeleteRole(roleName);&lt;br /&gt;&amp;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;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;第六步：也是最后一步，在&lt;span lang=&quot;EN-US&quot;&gt;RPGEffectsDemo&lt;/span&gt;项目中右键添加服务引用&lt;span lang=&quot;EN-US&quot;&gt;(Service References)&lt;/span&gt;，然后检索到&lt;span lang=&quot;EN-US&quot;&gt;WCFService.svc&lt;/span&gt;完成即可。接着发布网站，并在&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;服务器端配置好&lt;span lang=&quot;EN-US&quot;&gt;IIS&lt;/span&gt;，整个流程到此结束。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;参照如上步骤搭建的&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;框架，如果服务器&lt;span lang=&quot;EN-US&quot;&gt;(IIS)&lt;/span&gt;或数据库相关数据参数发生变动则仅需修改以下两个文件：&lt;span lang=&quot;EN-US&quot;&gt;ServiceReferences.ClientConfig&lt;/span&gt;和&lt;span lang=&quot;EN-US&quot;&gt;Web.config&lt;/span&gt;，具体位置如下，参数很好理解，尤其是搞过这方面开发的朋友更无须多说：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;271&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/5.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/6.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;一切&lt;span lang=&quot;EN-US&quot;&gt;OK&lt;/span&gt;后，以游戏登陆时输入用户名与密码的窗体为例，我们可通过类似以下的代码创建&lt;span lang=&quot;EN-US&quot;&gt;WCF&lt;/span&gt;连接以及处理相应逻辑：&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WCFServiceClient&amp;nbsp;wcfServiceClient&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;WCFServiceClient();&lt;br /&gt;wcfServiceClient.UserLogonValidateAsync(userName.Text.Trim(),&amp;nbsp;GlobalMethod.Encrypt(pwd.Password));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wcfServiceClient.UserLogonValidateCompleted&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(wcfs1,&amp;nbsp;wcfe1)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(wcfe1.Result&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LoginManager.UserName&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;userName.Text.Trim();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;(Login&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;)&amp;nbsp;{&amp;nbsp;Login(&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LoginManager.loading.Hide();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LoginManager.loginTip.Show(GetLanguagePackContent(&lt;/span&gt;&lt;span style=&quot;color: #800080&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;),&amp;nbsp;LoginTipMode.TipOnly);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;wcfServiceClient.CloseAsync();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;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;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;与&lt;span lang=&quot;EN-US&quot;&gt;ASP.NET&lt;/span&gt;页面设计类似，游戏中比如语言选择、版本说明、登陆、注册、角色创建、角色选择、物品窗口、属性窗口等每个窗体我们都可以单独的控件类文件存在，并为它们内部的每个需要交互的按钮设置对应的事件以实现与其他对象的交互消灭耦合：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;400&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/7.jpg&quot; width=&quot;600&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;另外，&lt;span lang=&quot;EN-US&quot;&gt;Demo&lt;/span&gt;使用了动态多国语言设计，众所周知同一词汇在不同语言书写中存在长度差异，因此语言包中还应在需要的地方添加上&lt;span lang=&quot;EN-US&quot;&gt;Offset&lt;/span&gt;和&lt;span lang=&quot;EN-US&quot;&gt;FontSize&lt;/span&gt;参数以使得界面看上去更协调整洁：&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/8.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img height=&quot;278&quot; alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/9.jpg&quot; width=&quot;594&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28.5pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;Silverlight&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;动态多国语言设计模式对于&lt;span lang=&quot;EN-US&quot;&gt;WebGame&lt;/span&gt;来说可轻松实现玩家跨国交互和竞技，可谓真正能实现网游国际化的&lt;span lang=&quot;EN-US&quot;&gt;RIA&lt;/span&gt;技术；这才是&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;页游即将为世界所缔造的网游领域新的蓝海！&lt;strong style=&quot;mso-bidi-font-weight: normal&quot;&gt;&lt;span style=&quot;color: #ff6600&quot;&gt;第四次游戏革命：网页网游全球一体化&lt;/span&gt;&lt;/strong&gt;。试想不同民族、不同国籍的玩家在一款游戏中同场竞技或&lt;span lang=&quot;EN-US&quot;&gt;SNS&lt;/span&gt;中相互交流，尤其是亚洲，中、港、台、日、韩、越、泰等周边国家的游戏玩家齐聚一堂，共享世纪网游大作，那将是一件多么伟大而具有划时代意义的历史记忆！不远了，多少前辈曾经为了这个梦想而奋斗青春，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/144816.htm&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;当微&lt;span lang=&quot;EN-US&quot;&gt;软为了Silverlight&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;能兼&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;具&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;更强劲的GPU&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;而收购NVIDIA&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;时&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;，当&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://news.cnblogs.com/n/104577/&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;Silverlight 5&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;正式版浩瀚问世之时，那才是网游世界新的春天！&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; line-height: 150%&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://images.cnblogs.com/cnblogs_com/alamiye010/20110608/10.jpg&quot; border=&quot;0&quot; longdesc=&quot;&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 28pt; line-height: 150%; mso-char-indent-count: 2.0&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/14/2015690.html&quot; target=&quot;_blank&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;XNA&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;已成为Silverlight.XNA&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;，无可厚非&lt;span lang=&quot;EN-US&quot;&gt;Silverlight&lt;/span&gt;必将成为微软未来平台统一与兼容的首选&lt;span lang=&quot;EN-US&quot;&gt;~!&lt;/span&gt;兼具高开发效率、优秀用户体验及跨平台等诸多优势最具潜力的&lt;span lang=&quot;EN-US&quot;&gt;RIA&lt;/span&gt;技术，未来将与&lt;span lang=&quot;EN-US&quot;&gt;HTML5&lt;/span&gt;共舞，&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.win7china.com/html/15439.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;优势互补&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;一统所有网络应用。&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;本系列源码请到&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/04/02/2003182.html&quot; target=&quot;_blank&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;目录&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;中下载&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p  style=&quot;margin: 0cm 0cm 0pt; text-indent: 27.75pt; line-height: 150%&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;在线演示地址：&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;a href=&quot;http://silverfuture.cn/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体&quot;&gt;http://silverfuture.cn&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 14pt; line-height: 150%; font-family: 宋体; mso-hansi-font-family: Calibri&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www.cnblogs.com/alamiye010/aggbug/2075420.html?type=1&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;/&gt;&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/alamiye010/archive/2011/06/08/2075420.html&quot; target=&quot;_blank&quot;&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content:encoded><pubDate>Wed, 08 Jun 2011 16:26:00 +0800</pubDate><guid isPermaLink="false">http://www.cnblogs.com/alamiye010/archive/2011/06/08/2075420.html</guid><dc:creator>深蓝色右手</dc:creator></item></channel></rss>
