<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[X-Intend]]></title>
<link><![CDATA[http://www.xintend.com/]]></link>
<description><![CDATA[超级打算---每个人都有自己的IDEA]]></description>
<language><![CDATA[]]></language>
<copyright><![CDATA[Copyright X-Intend]]></copyright>
<webMaster><![CDATA[oicuicu@gmail.com]]></webMaster>
<generator><![CDATA[Roclog v5.0.2]]></generator>
<image>
	<title><![CDATA[X-Intend]]></title>
	<url><![CDATA[http://www.xintend.com/Common/Images/Logo.png]]></url>
	<link><![CDATA[http://www.xintend.com/]]></link>
	<description><![CDATA[超级打算---每个人都有自己的IDEA]]></description>
</image>
<item>
	<link><![CDATA[http://www.xintend.com/article/new_word.aspx]]></link>
	<title><![CDATA[Kingfo新词 ---  舰人]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2010-3-30 9:46:57</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/new_word.aspx]]></guid>
	<description><![CDATA[<blockquote>
<p><b><font style="FONT-SIZE: 10pt" color="#fe5e27" face="微软雅黑">&nbsp;舰人 &nbsp; --- &nbsp; &nbsp; &nbsp;</font></b><b><font style="FONT-SIZE: 10pt" color="#fe5e27" face="微软雅黑">指装备先进的弄潮儿，偶尔有炫耀的成分</font></b></p>
</blockquote>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/html_in_html.aspx]]></link>
	<title><![CDATA[[原]Flash对象在(x)HTML中的格式和参数及安全性]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2010-3-15 9:29:54</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/html_in_html.aspx]]></guid>
	<description><![CDATA[<p>&nbsp;这是份总结，有不正确的地方请见谅。</p>
<p>联系方式： KingFo &nbsp; &nbsp; oicuicu@gmail.com</p>
<p>================<br />
已更新团队共享PPT中<br />
================</p>
<div style="width:425px" id="__ss_3432665"><strong style="display:block;margin:12px 0 4px"><a title="Flash对象在(X)Html中的格式和参数及安全性" href="http://www.slideshare.net/taobaoued/flashxhtml-3432665">Flash对象在(X)Html中的格式和参数及安全性</a></strong><object width="425" height="355">
<param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flashxhtml-100315003907-phpapp01&amp;rel=0&amp;stripped_title=flashxhtml-3432665" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flashxhtml-100315003907-phpapp01&amp;rel=0&amp;stripped_title=flashxhtml-3432665" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/taobaoued">taobao.com</a>.</div>
</div>
<p>===============</p>
<p>&nbsp;</p>
<p><img width="400" height="300" alt="" src="/Attach/201003/634042425122417500_1.png" /></p>
<p>有点悲剧的是当PPT导入到 Google Docs 中后畸形了许多。。。将就看吧=。=</p>
<p>&nbsp;<span style="color: rgb(255, 0, 0); ">全屏可能会好一点</span></p>
<p>&nbsp;或者点此处：<a id="publishedSlideshowUrl" class="tabcontent" target="_blank" style="color: rgb(17, 42, 187); font-family: Arial, sans-serif; font-size: 12px !important; " href="http://docs.google.com/present/view?id=dcvxfmd9_37fk9bxgfq&amp;interval=10">http://docs.google.com/present/view?id=dcvxfmd9_37fk9bxgfq&amp;interval=10</a>&nbsp;</p>
<p>&nbsp;</p>
<p><iframe src="http://docs.google.com/present/embed?id=dcvxfmd9_37fk9bxgfq&amp;interval=10" frameborder="0" width="410" height="342"></iframe></p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/XaTHrOiMYQDkYhyxUtYc.aspx]]></link>
	<title><![CDATA[[原]安全使用随机类方法]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-12-18 20:09:37</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/XaTHrOiMYQDkYhyxUtYc.aspx]]></guid>
	<description><![CDATA[<p>在前面 一篇文章《<a href="http://www.xintend.com/Article/ZsxWKYVDsgTKYvBSkMdD.aspx"><u><strong>[原]一种随机类的方法</strong></u></a>》中提到的关于使用 getDefinitionByName() 方法获取类，但是在文章的最后的问题，不知道有没有人思考过这样做为什么特殊。</p>
<p>这里公布答案:</p>
<p>getDefinitionByName()&nbsp; 它将直接从当前应用程序域(ApplicationDomain)去查询并获取，因此当我们Load，一个swf执行时，会报错。</p>
<p>有时候对于多层次的应用程序域（相当于应用程序域的树，层次&gt;=3）管理起来会非常麻烦。</p>
<p>因此我们需要单独提取出LoaderContext&nbsp;管理他们，通过LoaderContext的applicationDomain中getDefinition()来管理它们。例如 单例模式。</p>
<p>道理弄懂了，实现起来就是很简单的东西了。</p>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/ZsxWKYVDsgTKYvBSkMdD.aspx]]></link>
	<title><![CDATA[[原]一种随机类的方法]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-11-26 11:22:13</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/ZsxWKYVDsgTKYvBSkMdD.aspx]]></guid>
	<description><![CDATA[<p>此类方法用于类似图片的类进行随机实力化，或者拥有同个接口或同个父类的功能函数，实现某种随机</p>
<p>当然，这里随机的方式不做讨论，可以参阅之前本人的 48位线性同余算法的 <a href="http://www.xintend.com/Article/as3dndcoresys_DiceClass_2.aspx"><strong>[原]关于股子系统的优化</strong></a></p>
<p>完整代码:<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">package</span><span>&nbsp;&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.utils.getDefinitionByName; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;... </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@author&nbsp;Telds[KingFo] </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;SampleImage&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image0.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_0:Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image1.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_1:Class; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image2.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_2:Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image3.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_3:Class; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image4.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_4:Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image5.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_5:Class; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image6.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_6:Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image7.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_7:Class; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image8.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_8:Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image9.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_9:Class; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image10.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_10:Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image11.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_11:Class; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../assets/building/image12.png'</span><span>)]</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;BUILDING_12:Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;getRandomImageClass():Class&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;n:String&nbsp;=&nbsp;</span><span class="string">&quot;SampleImage_BUILDING_&quot;</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;i:</span><span class="keyword">int</span><span>&nbsp;=&nbsp;Math.random()&nbsp;*&nbsp;12; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;n.concat(i); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;getDefinitionByName(n)&nbsp;as&nbsp;Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>}&nbsp;</span></li></ol></pre>
<p>至于如何知道<strong>完全限定类名</strong></p>
<p>可以使用以下类进行测试获取，这里值得一提的是我上面的写法是<strong>比较特殊例子</strong>，至于为什么特殊就留着看客您琢磨了~~~<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span>flash.utils.getQualifiedClassName&nbsp;()&nbsp;&nbsp;</span></span></li></ol></pre>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/dwQnKXMBxRcFznQBDvli.aspx]]></link>
	<title><![CDATA[[原]APNGDecoder---AS3实现进行中]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-11-16 23:12:17</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/dwQnKXMBxRcFznQBDvli.aspx]]></guid>
	<description><![CDATA[<p>目前进度50%</p>
<p>已完成数据解码和校验~~~~ 不过目前还是体力活~~~</p>
<p>接下来是还原图片。。。。。。哎，周末结束了.............真不知道我下次有时间是什么时候了。。</p>
<p>以下是测试代码，工程截图............. 哦 对了，这个所谓的 1455049.png就是前篇博文：<a href="http://www.xintend.com/Article/LRptPVzHuLwcuLIASBfG.aspx"><u><strong>APNG?</strong></u></a><br />
中插入图片，我之所以写这段解码器目的其实只是想让IE也能预览APNG而已........哎.....<br />
不知道哪位同学有APNG解码器的代码呢？有的话可以告诉我声哦~~~</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;Main():</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;l:URLLoader&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;URLLoader(); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l.dataFormat&nbsp;=&nbsp;URLLoaderDataFormat.BINARY; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l.addEventListener(Event.COMPLETE,&nbsp;handleURLloader); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l.load(</span><span class="keyword">new</span><span>&nbsp;URLRequest(</span><span class="string">&quot;../image/1455049.png&quot;</span><span>)); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;handleURLloader(e:Event):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;apngdecoder.decode(e.target.data) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(apngdecoder.getResult().getTotalFrames()) &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(apngdecoder.getResult().getWidth()) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(apngdecoder.getResult().getWidth()) &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(apngdecoder.getResult().getBitDepth()) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li></ol></pre>
<p>&nbsp;<a target="_blank" href="/Attach/200811/633624745814843750_te.JPG"><img height="600" width="800" align="middle" border="0" alt="" src="/Attach/200811/633624745814843750_te.JPG" /></a></p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/OlNSIpljiNIAJmEcfhBy.aspx]]></link>
	<title><![CDATA[[原]CRC32校验类AS3实现]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-11-15 15:32:28</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/OlNSIpljiNIAJmEcfhBy.aspx]]></guid>
	<description><![CDATA[<p>因为需要用到CRC32的算法，所以改写了下原来as3corelib 的 CRC算法，单独提出来作为一个类，当然您也可以 搜索 &quot;Sample Cyclic Redundancy Code implementation&quot; 找到 ISO C <a href="http://www.w3.org/TR/PNG/#2-ISO-9899"><span class="NormRef">[ISO-9899]</span></a>&nbsp;的C语言描述。<br />
下面我都会帖出:</p>
<p><u><strong>本人的类:<br />
</strong></u></p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">package</span><span>&nbsp;&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.utils.ByteArray; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;CRC&nbsp;32位&nbsp;校验类 </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;与JAVA的CRC32类似 </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;算法参考自&nbsp;as3corelib&nbsp;http://code.google.com/p/as3corelib/&nbsp;&nbsp; </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;的&nbsp;PNGEncoder.as&nbsp;中CRC算法部分 </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@author&nbsp;Telds[KingFo] </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@version&nbsp;0.0.1 </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@example </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;var&nbsp;bytes:ByteArray&nbsp;=&nbsp;new&nbsp;ByteArray(); </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;var&nbsp;crc32:CRC32&nbsp;=&nbsp;new&nbsp;CRC32(); </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;var&nbsp;str:String=&quot;kingfo&quot;; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;bytes.writeUTFBytes(str); </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;crc32.update(bytes); </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;trace(crc32); </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;CRC32&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">const</span><span>&nbsp;POLYNOMIAL:uint&nbsp;=&nbsp;0xEDB88320; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;创建获取CRC表 </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;getCrcTable():Array&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;Make&nbsp;the&nbsp;table&nbsp;for&nbsp;a&nbsp;fast&nbsp;CRC.&nbsp;*/</span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(!crcTableComputed)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crcTable&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Array(256); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;c:uint; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;i:uint=0;&nbsp;i&nbsp;&lt;&nbsp;256;&nbsp;i++)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;i; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;j:uint=0;&nbsp;j&nbsp;&lt;&nbsp;8;&nbsp;j++)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;(c&nbsp;&amp;&nbsp;1)&nbsp;?&nbsp;(c&nbsp;>>>&nbsp;1)&nbsp;^&nbsp;POLYNOMIAL&nbsp;:&nbsp;(c&nbsp;>>>&nbsp;1); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crcTable[i]&nbsp;=&nbsp;c; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crcTableComputed&nbsp;=&nbsp;</span><span class="keyword">true</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;crcTable; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;构造函数，实例化同时产生CRC表 </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;CRC32()&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getCrcTable(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;更新CRC </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;bytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指定更新的字节流 </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;offset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;偏移量，默认从&nbsp;bytes.position=0&nbsp;开始 </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;长度,默认为0，即指定更新的字节流的长度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;update(bytes:ByteArray,&nbsp;offset:</span><span class="keyword">int</span><span>=0,length:</span><span class="keyword">int</span><span>=0):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;length&nbsp;=&nbsp;length&nbsp;>&nbsp;0&nbsp;?&nbsp;length&nbsp;:&nbsp;bytes.length; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;c:uint&nbsp;=&nbsp;~value; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;i:</span><span class="keyword">int</span><span>&nbsp;=&nbsp;offset;&nbsp;i&nbsp;&lt;&nbsp;length;&nbsp;i++)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;crcTable[(c&nbsp;^&nbsp;bytes[i])&nbsp;&amp;&nbsp;0xFF]&nbsp;^&nbsp;(c&nbsp;>>>&nbsp;8); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;=&nbsp;~c; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;获取结果 </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;getValue():uint&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;value&nbsp;&amp;&nbsp;0xFFFFFFFF; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;重置结果 </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;reset():</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;=&nbsp;0x00000000; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;toString():String&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;v:uint&nbsp;=&nbsp;getValue(); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;</span><span class="string">&quot;0x&quot;</span><span>+v.toString(16).toUpperCase(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;value:uint&nbsp;=&nbsp;0x00000000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;Table&nbsp;of&nbsp;CRCs&nbsp;of&nbsp;all&nbsp;8-bit&nbsp;messages.&nbsp;*/</span><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;crcTable:Array; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;Flag:&nbsp;has&nbsp;the&nbsp;table&nbsp;been&nbsp;computed?&nbsp;Initially&nbsp;false.&nbsp;*/</span><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">static</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;crcTableComputed:Boolean&nbsp;=&nbsp;</span><span class="keyword">false</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>}&nbsp;</span></li></ol></pre>
<p><u><strong>PNGEncoder.as 中CRC 核心代码部分:</strong></u><br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">if</span><span>&nbsp;(!crcTableComputed)&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crcTableComputed&nbsp;=&nbsp;</span><span class="keyword">true</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crcTable&nbsp;=&nbsp;[]; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;c:uint; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;n:uint&nbsp;=&nbsp;0;&nbsp;n&nbsp;&lt;&nbsp;256;&nbsp;n++)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;n; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;k:uint&nbsp;=&nbsp;0;&nbsp;k&nbsp;&lt;&nbsp;8;&nbsp;k++)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(c&nbsp;&amp;&nbsp;1)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;uint(uint(0xedb88320)&nbsp;^&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint(c&nbsp;>>>&nbsp;1)); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span class="keyword">else</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;uint(c&nbsp;>>>&nbsp;1); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crcTable[n]&nbsp;=&nbsp;c; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span class="comment">///// </span><span>&nbsp;</span></li><li class="alt"><span>c&nbsp;=&nbsp;0xffffffff; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;i:</span><span class="keyword">int</span><span>&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;(e-p);&nbsp;i++)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;uint(crcTable[ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(c&nbsp;^&nbsp;png.readUnsignedByte())&nbsp;&amp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint(0xff)]&nbsp;^&nbsp;uint(c&nbsp;>>>&nbsp;8)); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;uint(c^uint(0xffffffff));&nbsp;</span></li></ol></pre>
<p><u><strong>Sample Cyclic Redundancy Code implementation</strong></u><br />
&nbsp;</p>
<pre><ol class="dp-cpp"><li class="alt"><span><span class="comment">/*&nbsp;Table&nbsp;of&nbsp;CRCs&nbsp;of&nbsp;all&nbsp;8-bit&nbsp;messages.&nbsp;*/</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span class="datatypes">long</span><span>&nbsp;crc_table[256]; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;Flag:&nbsp;has&nbsp;the&nbsp;table&nbsp;been&nbsp;computed?&nbsp;Initially&nbsp;false.&nbsp;*/</span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="datatypes">int</span><span>&nbsp;crc_table_computed&nbsp;=&nbsp;0; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;Make&nbsp;the&nbsp;table&nbsp;for&nbsp;a&nbsp;fast&nbsp;CRC.&nbsp;*/</span><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;</span><span class="keyword">void</span><span>&nbsp;make_crc_table(</span><span class="keyword">void</span><span>) &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span class="datatypes">long</span><span>&nbsp;c; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="datatypes">int</span><span>&nbsp;n,&nbsp;k; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(n&nbsp;=&nbsp;0;&nbsp;n&nbsp;&lt;&nbsp;256;&nbsp;n++)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;(unsigned&nbsp;</span><span class="datatypes">long</span><span>)&nbsp;n; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(k&nbsp;=&nbsp;0;&nbsp;k&nbsp;&lt;&nbsp;8;&nbsp;k++)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(c&nbsp;&amp;&nbsp;1) &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;0xedb88320L&nbsp;^&nbsp;(c&nbsp;>>&nbsp;1); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">else</span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;c&nbsp;>>&nbsp;1; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crc_table[n]&nbsp;=&nbsp;c; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crc_table_computed&nbsp;=&nbsp;1; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;Update&nbsp;a&nbsp;running&nbsp;CRC&nbsp;with&nbsp;the&nbsp;bytes&nbsp;buf[0..len-1]--the&nbsp;CRC </span>&nbsp;</li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;should&nbsp;be&nbsp;initialized&nbsp;to&nbsp;all&nbsp;1's,&nbsp;and&nbsp;the&nbsp;transmitted&nbsp;value </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;the&nbsp;1's&nbsp;complement&nbsp;of&nbsp;the&nbsp;final&nbsp;running&nbsp;CRC&nbsp;(see&nbsp;the </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crc()&nbsp;routine&nbsp;below).&nbsp;*/</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span class="datatypes">long</span><span>&nbsp;update_crc(unsigned&nbsp;</span><span class="datatypes">long</span><span>&nbsp;crc,&nbsp;unsigned&nbsp;</span><span class="datatypes">char</span><span>&nbsp;*buf, &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="datatypes">int</span><span>&nbsp;len) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span class="datatypes">long</span><span>&nbsp;c&nbsp;=&nbsp;crc; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="datatypes">int</span><span>&nbsp;n; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(!crc_table_computed) &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make_crc_table(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>&nbsp;(n&nbsp;=&nbsp;0;&nbsp;n&nbsp;&lt;&nbsp;len;&nbsp;n++)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;=&nbsp;crc_table[(c&nbsp;^&nbsp;buf[n])&nbsp;&amp;&nbsp;0xff]&nbsp;^&nbsp;(c&nbsp;>>&nbsp;8); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;c; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;</span><span class="comment">/*&nbsp;Return&nbsp;the&nbsp;CRC&nbsp;of&nbsp;the&nbsp;bytes&nbsp;buf[0..len-1].&nbsp;*/</span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span class="datatypes">long</span><span>&nbsp;crc(unsigned&nbsp;</span><span class="datatypes">char</span><span>&nbsp;*buf,&nbsp;</span><span class="datatypes">int</span><span>&nbsp;len) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;update_crc(0xffffffffL,&nbsp;buf,&nbsp;len)&nbsp;^&nbsp;0xffffffffL; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/EihZHMjnxgYubhSqRjhZ.aspx]]></link>
	<title><![CDATA[[原]一种猥琐的图片跨域的方法]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-11-13 19:28:25</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/EihZHMjnxgYubhSqRjhZ.aspx]]></guid>
	<description><![CDATA[<p>今天看到<a title="达达(ASFlex)" target="_blank" href="http://www.asflex.cn/"><u><strong>达达(ASFlex)</strong></u></a>的博文，关于跨域的问题，突然想起来我之前<a href="http://www.xintend.com/Article/JzcYFVVpNcuSDRgnoaAz.aspx"><u><strong>[原]淘宝店家起义篇。。。</strong></u></a>要做的实验之一，遂趁当前下班时间，在公司里写了一段测试代码。</p>
<p>果然是无法Draw的，在帮助文档已经明确的写了......................................</p>
<p>如何突破呢？ 还是以后直接拿TextField来用？</p>
<p>以此标记，下回，改用AVM1+AVM2混合内容测试</p>
<p>目前方法是猥琐的抽出Loader来用</p>
<p>测试连接：<br />
<a href="http://www.xintend.com/temp/icd/index.html">www.xintend.com/temp/icd/index.html</a></p>
<p>有兴趣的同学可以去玩下~~ 图片可以拖动~~~~~~~</p>
<p>核心&nbsp;代码部分:<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;handleLoadBtn():</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;s:String&nbsp;=&nbsp;urlInput.text; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;ht:String&nbsp;=&nbsp;</span><span class="string">&quot;&lt;img&nbsp;src='&quot;</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span>&nbsp;(s.length&nbsp;>&nbsp;0)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht&nbsp;+=&nbsp;s;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht&nbsp;+=&nbsp;</span><span class="string">&quot;'&nbsp;&quot;</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ht&nbsp;+=&nbsp;</span><span class="string">&quot;id='image'>&quot;</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tf.htmlText&nbsp;=&nbsp;ht; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.text&nbsp;=&nbsp;ht; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.text&nbsp;+=&nbsp;</span><span class="string">&quot;\n&quot;</span><span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.text&nbsp;+=&nbsp;tf.getImageReference(</span><span class="string">&quot;image&quot;</span><span>); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;c:DisplayObject&nbsp;=&nbsp;tf.getImageReference(</span><span class="string">&quot;image&quot;</span><span>); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ui.addChild(c); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.text&nbsp;+=&nbsp;</span><span class="string">&quot;\n&nbsp;ui.addChild(c);&quot;</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/rWCsyIoXTRuLpmKaDMqH.aspx]]></link>
	<title><![CDATA[[原]视觉模型心得---第二次扩展及补充]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-11-9 20:48:30</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/rWCsyIoXTRuLpmKaDMqH.aspx]]></guid>
	<description><![CDATA[<p>本次主要针对了上回模型总结的补充和扩展，上回的解释可以参看这篇陋文：<br />
<u><strong><a target="_blank" href="http://www.xintend.com/Article/ViewModel.aspx">[原]视觉模型心得</a><br />
</strong></u></p>
<p>本次纠正模型如下(点击图片看大图)：<br />
还是需要等待时间和实践的验证~~~</p>
<p><img alt="" src="/Attach/200811/633618606217500000_视觉交互模型.jpg" /><br />
<br />
&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/JzcYFVVpNcuSDRgnoaAz.aspx]]></link>
	<title><![CDATA[[原]淘宝店家起义篇。。。]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-11-5 23:21:05</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/JzcYFVVpNcuSDRgnoaAz.aspx]]></guid>
	<description><![CDATA[<p>最近受经济危机影响实在是无米可餐，加上家中兴起了开店热，于是也自己弄了个网店......<br />
虽然淘宝的帐户较早就有了，现在才开....<br />
目前卖家等级为0</p>
<p>不过，有些郁闷的是开店需要用到的图片，淘宝发布商品是不支持上传的，于是找了N多家</p>
<p>虽然最终被我找到了几个免费的图片供应站，但是仍然觉得很不爽，毕竟静态图片要表现的内容也算是比较小的。</p>
<p>于是，我本着万愚之精神，开始设想，如果taobao不提供上传，那至少可以提供一个图片的播放器给用户....不过，由于flash player有安全沙箱问题，无法装载外站图片，但不知道类似扒来的图片连接能不能用......或者，干脆用AVM1机制下的一些猥琐方法？？ 没玩过......有谁知道可以告诉我下~~~~，厄，要不HtmlText纯载如图片映射？？？ 哎，不猜测了，这几日测试看看好了~~~</p>
<p>好吧，土人的设想是这么一副图片，主要是供给店主使用的，放在商品介绍上..... 这个成本应该比视频类的滴了吧............这样店主就应该很容易的展示自己的商品了，客户也容易逛到一个店后在一个窗口下所谓的无刷新搜索其他产品和比较产品以及欣赏产品了吧,(这句话我承认有点长了~~就委屈您囧一下吧~~)</p>
<p>好，来图土一土~~~ 超级打算嘛~~~<br />
<img alt="" src="/Attach/200811/633615250117962081_123.jpg" /></p>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/iWJhpkKDExAjXZUbTayo.aspx]]></link>
	<title><![CDATA[[原]JS和ActiveX通信获取使用中网卡MAC]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-10-9 16:09:17</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/iWJhpkKDExAjXZUbTayo.aspx]]></guid>
	<description><![CDATA[<p>原先的文章参考:<br />
<a href="http://www.faqts.com/knowledge_base/view.phtml/aid/9005/fid/125">http://www.faqts.com/knowledge_base/view.phtml/aid/9005/fid/125</a></p>
<p>由于笔记本或多网卡联网机器的原因，所以我们需要判断被系统选择使用的网卡，因此，需要在原文中的判断处获取所选择DNS列表来判断是否正在使用。</p>
<p>不知道还有什么更好的办法，本方法也是一种判断的方式：</p>
<p>以下为完全HTML源码：<br />
(相关API请参考: <a href="http://www.xintend.com/Article/QFFrUjDCBWYWzjoBinNT.aspx">http://www.xintend.com/Article/QFFrUjDCBWYWzjoBinNT.aspx</a> )</p>
<pre><ol class="dp-xml"><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">HTML</span><span class="tag">></span><span class="tag">&lt;</span><span class="tag-name">HEAD</span><span class="tag">></span><span class="tag">&lt;</span><span class="tag-name">TITLE</span><span class="tag">></span><span>WMI&nbsp;Scripting&nbsp;HTML</span><span class="tag">&lt;/</span><span class="tag-name">TITLE</span><span class="tag">></span><span>&nbsp;</span></span></li><li><span class="tag">&lt;</span><span class="tag-name">META</span><span>&nbsp;</span><span class="attribute">http-equiv</span><span>=</span><span class="attribute-value">Content</span><span>-Type&nbsp;</span><span class="attribute">content</span><span>=</span><span class="attribute-value">&quot;text/html;&nbsp;charset=gb2312&quot;</span><span class="tag">></span><span>&nbsp;</span></li><li class="alt"><span class="tag">&lt;</span><span class="tag-name">SCRIPT</span><span>&nbsp;</span><span class="attribute">language</span><span>=</span><span class="attribute-value">JScript</span><span>&nbsp;</span><span class="attribute">event</span><span>=</span><span class="attribute-value">&quot;OnCompleted(hResult,pErrorObject,&nbsp;pAsyncContext)&quot;</span><span>&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">foo</span><span class="tag">></span><span>&nbsp;</span></li><li><span>document.forms[0]</span><span class="attribute">.txtMACAddr.value</span><span>=</span><span class="attribute-value">unescape</span><span>(MACAddr); &nbsp;</span></li><li class="alt"><span>document.forms[0]</span><span class="attribute">.txtIPAddr.value</span><span>=</span><span class="attribute-value">unescape</span><span>(IPAddr); &nbsp;</span></li><li><span>document.forms[0]</span><span class="attribute">.txtDNSName.value</span><span>=</span><span class="attribute-value">unescape</span><span>(sDNSName); &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">SCRIPT</span><span class="tag">></span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span class="tag">&lt;</span><span class="tag-name">SCRIPT</span><span>&nbsp;</span><span class="attribute">language</span><span>=</span><span class="attribute-value">JScript</span><span>&nbsp;</span><span class="attribute">event</span><span>=</span><span class="attribute-value">OnObjectReady</span><span>(objObject,objAsyncContext)&nbsp;</span><span class="attribute">for</span><span>=</span><span class="attribute-value">foo</span><span class="tag">></span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;if(objObject.IPEnabled&nbsp;!=&nbsp;null&nbsp;&amp;&amp;&nbsp;objObject.IPEnabled&nbsp;!=&nbsp;&quot;undefined&quot;&nbsp;&amp;&amp;&nbsp;</span><span class="attribute">objObject.IPEnabled</span><span>&nbsp;==&nbsp;true) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;if(objObject.MACAddress&nbsp;!=&nbsp;null&nbsp;&amp;&amp;&nbsp;objObject.MACAddress&nbsp;!=&nbsp;&quot;undefined&quot;&nbsp;&amp;&amp;&nbsp;objObject.DNSServerSearchOrder!=null) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">MACAddr</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">objObject</span><span>.MACAddress; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;if(objObject.IPEnabled&nbsp;&amp;&amp;&nbsp;objObject.IPAddress(0)&nbsp;!=&nbsp;null&nbsp;&amp;&amp;&nbsp;objObject.IPAddress(0)&nbsp;!=&nbsp;&quot;undefined&quot;&nbsp;&amp;&amp;&nbsp;objObject.DNSServerSearchOrder!=null) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">IPAddr</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">objObject</span><span>.IPAddress(0); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;if(objObject.DNSHostName&nbsp;!=&nbsp;null&nbsp;&amp;&amp;&nbsp;objObject.DNSHostName&nbsp;!=&nbsp;&quot;undefined&quot;) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">sDNSName</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">objObject</span><span>.DNSHostName; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">SCRIPT</span><span class="tag">></span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span class="tag">&lt;</span><span class="tag-name">META</span><span>&nbsp;</span><span class="attribute">content</span><span>=</span><span class="attribute-value">&quot;MSHTML&nbsp;6.00.2800.1106&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">GENERATOR</span><span class="tag">></span><span class="tag">&lt;/</span><span class="tag-name">HEAD</span><span class="tag">></span><span>&nbsp;</span></li><li class="alt"><span class="tag">&lt;</span><span class="tag-name">BODY</span><span class="tag">></span><span>&nbsp;</span></li><li><span class="tag">&lt;</span><span class="tag-name">OBJECT</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">locator</span><span>&nbsp;</span><span class="attribute">classid</span><span>=</span><span class="attribute-value">CLSID</span><span>:76A64158-CB41-11D1-8B02-00600806D9B6&nbsp;VIEWASTEXT</span><span class="tag">></span><span class="tag">&lt;/</span><span class="tag-name">OBJECT</span><span class="tag">></span><span>&nbsp;</span></li><li class="alt"><span class="tag">&lt;</span><span class="tag-name">OBJECT</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">foo</span><span>&nbsp;</span><span class="attribute">classid</span><span>=</span><span class="attribute-value">CLSID</span><span>:75718C9A-F029-11d1-A1AC-00C04FB6C223</span><span class="tag">></span><span class="tag">&lt;/</span><span class="tag-name">OBJECT</span><span class="tag">></span><span>&nbsp;</span></li><li><span class="tag">&lt;</span><span class="tag-name">SCRIPT</span><span>&nbsp;</span><span class="attribute">language</span><span>=</span><span class="attribute-value">JScript</span><span class="tag">></span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;var&nbsp;</span><span class="attribute">service</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">locator</span><span>.ConnectServer(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;var&nbsp;MACAddr&nbsp;; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;var&nbsp;IPAddr&nbsp;; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;var&nbsp;DomainAddr; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;var&nbsp;sDNSName; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">service.Security_.ImpersonationLevel</span><span>=</span><span class="attribute-value">3</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;service.InstancesOfAsync(foo,&nbsp;'Win32_NetworkAdapterConfiguration'); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">SCRIPT</span><span class="tag">></span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span class="tag">&lt;</span><span class="tag-name">FORM</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;formfoo&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;formbar&quot;</span><span>&nbsp;</span><span class="attribute">action</span><span>=</span><span class="attribute-value">&quot;index.do&quot;</span><span>&nbsp;</span><span class="attribute">method</span><span>=</span><span class="attribute-value">&quot;post&quot;</span><span class="tag">></span><span class="tag">&lt;</span><span class="tag-name">INPUT</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;00-11-11-B4-52-EF&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;txtMACAddr&quot;</span><span class="tag">></span><span>&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">INPUT</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;210.42.38.50&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;txtIPAddr&quot;</span><span class="tag">></span><span>&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">INPUT</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;zhupan&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;txtDNSName&quot;</span><span class="tag">></span><span>&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">FORM</span><span class="tag">></span><span class="tag">&lt;/</span><span class="tag-name">BODY</span><span class="tag">></span><span class="tag">&lt;/</span><span class="tag-name">HTML</span><span class="tag">></span><span>&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/bYsCmzlAhKlTENEKJAPp.aspx]]></link>
	<title><![CDATA[[原]关于AS3的MovieClip的addFrameScript()方法个人理解]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-9-4 23:23:57</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/bYsCmzlAhKlTENEKJAPp.aspx]]></guid>
	<description><![CDATA[<p>网络上都早有了此方法的描述，但是描述的并不太在正确<br />
网络的描述是这样的：<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span>addFrameScript(frame:unit,notify:Function):</span><span class="keyword">void</span><span>;&nbsp;</span></span></li></ol></pre>
<p><br />
相信很多人都尝试过以下输出公共方法的函数<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span>describeType();&nbsp;</span></span></li></ol></pre>
<p>所以通过解析可以明显的看出来是类似：<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span>addFrameScript(...args):</span><span class="keyword">void</span><span>;&nbsp;</span></span></li></ol></pre>
<p>可以理解成为：<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span>addFrameScript(frame:Object,&nbsp;notify:Function):</span><span class="keyword">void</span><span>;&nbsp;</span></span></li></ol></pre>
<p>实际上我的猜测是</p>
<p>&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="comment">//伪码 </span><span>&nbsp;</span></span></li><li><span class="keyword">function</span><span>&nbsp;addFrameScript(..args):</span><span class="keyword">void</span><span>{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;i:</span><span class="keyword">int</span><span>=0; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;frame:Object &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;notify::Function &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">for</span><span>(;i&lt;args.length;i+=2){ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame=args[i]; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notify=args[i+1];</span></li><li><span>       <span>&nbsp;//TODO:</span> &nbsp;</span></li><li class="alt"><span>&nbsp;} &nbsp;</span></li><li>&nbsp;</li><li class="alt"><span>}&nbsp;</span></li></ol></pre>
<p>&nbsp;用法:<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span>addFrameScript(</span><span class="string">&quot;frameLabel&quot;</span><span>,func); &nbsp;</span></span></li><li><span class="comment">//或 </span><span>&nbsp;</span></li><li class="alt"><span>addFrameScript(1,func);&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/cYwYGOfaoUHkfCxCuFnT.aspx]]></link>
	<title><![CDATA[[原]动态注册点显示对象 AS3实现---Proxy方法]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-8-26 23:59:33</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/cYwYGOfaoUHkfCxCuFnT.aspx]]></guid>
	<description><![CDATA[<p>由于之前的</p>
<h1><a href="http://xintend.com/Article/aXERLCNThERwyAyDjVvj.aspx">动态注册点显示对象 AS3实现</a></h1>
<div class="Other"><span class="Category">不太适合多类型的显示对象DisplayObject复合应用，因此实际应用过程中采用了Proxy模式，这样</span></div>
<div class="Other"><span class="Category">只要注册时使用对应的显示对象即可。</span></div>
<div class="Other">&nbsp;</div>
<div class="Other"><span class="Category">PS: 由于Blog限制，示例不能再摘要中显示，故请点击文章内部看玩具吧.....</span></div>
<div class="Other">&nbsp;</div>
<div class="Other"><span class="Category">示例：</span><br />
操作：单击确定旋转/缩放点，按下并拖动鼠标则实现以旋转，鼠标滚轮则缩放对应的点。</div>
<div class="Other">&nbsp;<embed src="/Attach/200808/633553923845156250_TileSystem.swf" width="800" height="600" type="application/x-shockwave-flash"></embed></div>
<div class="Other"><a href="/Attach/200808/633553923845156250_TileSystem.swf">点击下载此文件</a></div>
<p>源码：<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">package</span><span>&nbsp;&nbsp;com.xintend.util&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.display.DisplayObject; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.display.Sprite; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.geom.Point; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.utils.Proxy; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.utils.flash_proxy; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;[AS3]DynamicRegistrationProxy </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;动态注册点代理&nbsp;&nbsp;&nbsp;引用请保留此处信息及参考信息 </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@author&nbsp;telds[kingfo]&nbsp;www.xintend.com&nbsp; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp; </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;一级参考: </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;作者：&nbsp;Darronschall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ActionScript&nbsp;2] </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;站点:&nbsp;http://www.darronschall.com/weblog/archives/000054.cfm </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;二级参考: </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;作者:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Robert&nbsp;Penner&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ActionScript&nbsp;1] </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;站点:&nbsp;www.robertpenner.com&nbsp;&nbsp;&nbsp;&nbsp; </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;dynamic&nbsp;</span><span class="keyword">class</span><span>&nbsp;DynamicRegistrationProxy&nbsp;</span><span class="keyword">extends</span><span>&nbsp;Proxy&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;DynamicRegistrationProxy(source:DisplayObject=</span><span class="keyword">null</span><span>):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject&nbsp;=&nbsp;source&nbsp;||&nbsp;</span><span class="keyword">new</span><span>&nbsp;Sprite(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;override&nbsp;flash_proxy&nbsp;</span><span class="keyword">function</span><span>&nbsp;callProperty(methodName:*,&nbsp;...&nbsp;args):*&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;res:*; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;a:Point; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;b:Point; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;method:String&nbsp;=&nbsp;methodName.toString(); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;property:String; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">switch</span><span>&nbsp;(method)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'setRegistrationByStage'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;_displayObject.globalToLocal(</span><span class="keyword">new</span><span>&nbsp;Point(args[0],&nbsp;args[1]));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegX&nbsp;=&nbsp;args[0]; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegY&nbsp;=&nbsp;args[1];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regX&nbsp;=&nbsp;a.x; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regY&nbsp;=&nbsp;a.y; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'setRegistrationBySelf'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;_displayObject.localToGlobal(</span><span class="keyword">new</span><span>&nbsp;Point(args[0],&nbsp;args[1]));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regX&nbsp;=&nbsp;args[0]; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regY&nbsp;=&nbsp;args[1];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegX&nbsp;=&nbsp;a.x; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegY&nbsp;=&nbsp;a.y; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'setPropRel'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;_displayObject.parent.globalToLocal(_displayObject.localToGlobal(</span><span class="keyword">new</span><span>&nbsp;Point(_regX,&nbsp;_regY))); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;property&nbsp;=&nbsp;args[0].toString(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject[property]&nbsp;=&nbsp;args[1];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;=&nbsp;_displayObject.parent.globalToLocal(_displayObject.localToGlobal(</span><span class="keyword">new</span><span>&nbsp;Point(_regX,&nbsp;_regY)));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject.x&nbsp;-=&nbsp;b.x&nbsp;-&nbsp;a.x; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject.y&nbsp;-=&nbsp;b.y&nbsp;-&nbsp;a.y; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">default</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_displayObject[method].apply(_displayObject,&nbsp;args); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;res; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;override&nbsp;flash_proxy&nbsp;</span><span class="keyword">function</span><span>&nbsp;getProperty(name:*):*&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;res:*; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;property:String&nbsp;=&nbsp;name.toString(); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">switch</span><span>&nbsp;(property)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'regX'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_regX; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'regY'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_regY; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'stageRegX'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_stageRegX; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'stageRegY'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_stageRegY; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'x2'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_x2; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'y2'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_y2; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'scaleX2'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_displayObject.scaleX; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'scaleY2'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_displayObject.scaleY; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'rotation2'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_displayObject.rotation &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'source'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_displayObject; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">default</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;=&nbsp;_displayObject[property]; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span>&nbsp;res; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;override&nbsp;flash_proxy&nbsp;</span><span class="keyword">function</span><span>&nbsp;setProperty(name:*,&nbsp;value:*):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;property:String&nbsp;=&nbsp;name.toString();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">switch</span><span>&nbsp;(property)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'regX'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regX&nbsp;=&nbsp;value; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'regY'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regY&nbsp;=&nbsp;value; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'stageRegX'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegX&nbsp;=&nbsp;value; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'stageRegY'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegY&nbsp;=&nbsp;value; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'x2'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_x2&nbsp;+=&nbsp;value&nbsp;-&nbsp;_displayObject.x; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'y2'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_y2&nbsp;+=&nbsp;value&nbsp;-&nbsp;_displayObject.y; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'scaleX2'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flash_proxy::callProperty(</span><span class="string">'setPropRel'</span><span>,</span><span class="string">&quot;scaleX&quot;</span><span>,&nbsp;value); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'scaleY2'</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flash_proxy::callProperty(</span><span class="string">'setPropRel'</span><span>,</span><span class="string">&quot;scaleY&quot;</span><span>,&nbsp;value); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;</span><span class="string">'rotation2'</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flash_proxy::callProperty(</span><span class="string">'setPropRel'</span><span>,</span><span class="string">&quot;rotation&quot;</span><span>,&nbsp;value); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">default</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject[property]&nbsp;=&nbsp;value; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;&nbsp;_displayObject:DisplayObject; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_regX:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_regY:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_stageRegX:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_stageRegY:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_x2:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_y2:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>}&nbsp;</span></li></ol></pre>
<p>示例源码：<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">package</span><span>&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;com.xintend.util.DynamicRegistrationProxy; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.display.Bitmap; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.display.Sprite; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.events.MouseEvent; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.geom.Point; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Main&nbsp;</span><span class="keyword">extends</span><span>&nbsp;Sprite&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;a:DynamicRegistrationProxy; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;t:Sprite&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Sprite(); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;c:CrossHairs&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;CrossHairs(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Embed(source&nbsp;=&nbsp;</span><span class="string">'../bin/123.jpg'</span><span>)]</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;imge:Class; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;b:Bitmap &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;Main():</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b=</span><span class="keyword">new</span><span>&nbsp;imge()&nbsp;as&nbsp;Bitmap &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//t.graphics.beginFill(0xFF0000); </span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//t.graphics.drawRect(0,&nbsp;0,&nbsp;80,&nbsp;40); </span><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//t.graphics.endFill(); </span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//t.buttonMode&nbsp;=&nbsp;true; </span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//t.useHandCursor&nbsp;=&nbsp;true; </span><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.addChild(b); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.x&nbsp;=&nbsp;t.x&nbsp;=&nbsp;stage.stageWidth&nbsp;/&nbsp;2-&nbsp;t.width/2; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.y&nbsp;=&nbsp;t.y&nbsp;=&nbsp;stage.stageHeight&nbsp;/&nbsp;2&nbsp;-&nbsp;t.height/2; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.addEventListener(MouseEvent.MOUSE_DOWN,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.addEventListener(MouseEvent.MOUSE_OUT,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.addEventListener(MouseEvent.MOUSE_WHEEL,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;DynamicRegistrationProxy(t); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addChild(t); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addChild(c); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;&nbsp;</span><span class="keyword">function</span><span>&nbsp;handleMOUSE(event:MouseEvent):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">switch</span><span>(event.type)&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;MouseEvent.MOUSE_DOWN: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.setRegistrationByStage(mouseX,&nbsp;mouseY); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//trace(t.globalToLocal(new&nbsp;Point(mouseX,0)).x,t.globalToLocal(new&nbsp;Point(0,mouseY)).y); </span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.x&nbsp;=&nbsp;mouseX; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.y&nbsp;=&nbsp;mouseY; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeEventListener(MouseEvent.MOUSE_DOWN,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEventListener(MouseEvent.MOUSE_MOVE,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEventListener(MouseEvent.MOUSE_UP,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;MouseEvent.MOUSE_MOVE: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//trace(t.mouseX&nbsp;-&nbsp;a.regX,&nbsp;t.mouseY&nbsp;-&nbsp;a.regY); </span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.rotation2&nbsp;+=&nbsp;5; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//a.scaleXByRefer&nbsp;+=&nbsp;5; </span><span>&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;MouseEvent.MOUSE_UP:&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEventListener(MouseEvent.MOUSE_DOWN,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeEventListener(MouseEvent.MOUSE_MOVE,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;MouseEvent.MOUSE_WHEEL:&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeEventListener(MouseEvent.MOUSE_MOVE,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.x&nbsp;=&nbsp;mouseX; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.y&nbsp;=&nbsp;mouseY &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.setRegistrationByStage(mouseX,&nbsp;mouseY); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.scaleX2&nbsp;+=&nbsp;event.delta&nbsp;*&nbsp;0.1; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.scaleY2&nbsp;+=&nbsp;event.delta&nbsp;*&nbsp;0.1; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">default</span><span>: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEventListener(MouseEvent.MOUSE_DOWN,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeEventListener(MouseEvent.MOUSE_MOVE,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>} &nbsp;</span></li><li class="alt"><span class="keyword">import</span><span>&nbsp;flash.display.Shape; &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span class="keyword">class</span><span>&nbsp;CrossHairs&nbsp;</span><span class="keyword">extends</span><span>&nbsp;Shape&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;CrossHairs()&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.lineStyle(2,0xFF0000); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.moveTo(&nbsp;-10,&nbsp;0); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.lineTo(&nbsp;10,&nbsp;0); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.moveTo(&nbsp;0,&nbsp;-10); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.lineTo(&nbsp;0,&nbsp;10); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>}&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/aXERLCNThERwyAyDjVvj.aspx]]></link>
	<title><![CDATA[[原]动态注册点显示对象 AS3实现]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-8-25 14:16:23</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/aXERLCNThERwyAyDjVvj.aspx]]></guid>
	<description><![CDATA[<p>&nbsp;相关类：</p>
<p>P.S：这个应用类我就改了下，现实中我是将这个类给做成了Proxy来代替现有的Display以及子类。</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">package</span><span>&nbsp;com.xintend.util&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.display.DisplayObject; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.display.Sprite; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.geom.Point; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;[AS3]DynamicRegistrationDisplayObject </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;动态注册点&nbsp; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@author&nbsp;telds[kingfo]&nbsp;www.xintend.com&nbsp;&nbsp; </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;一级参考: </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;作者：&nbsp;Darronschall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ActionScript&nbsp;2] </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;站点:&nbsp;http://www.darronschall.com/weblog/archives/000054.cfm </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;二级参考: </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;作者:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Robert&nbsp;Penner&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ActionScript&nbsp;1] </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;站点:&nbsp;www.robertpenner.com&nbsp;&nbsp;&nbsp;&nbsp; </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp; </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;DynamicRegistrationDisplayObject{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;displayObject():DisplayObject&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_displayObject;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;depth():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_depth;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;set&nbsp;depth(value:Number):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_depth&nbsp;=&nbsp;value; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;label():String&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_label;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;set&nbsp;label(value:String):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_label&nbsp;=&nbsp;value; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;stageRegX():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_stageRegX;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;stageRegY():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_stageRegY;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;centerX():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_displayObject.x&nbsp;+&nbsp;_displayObject.width&nbsp;/&nbsp;2;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;set&nbsp;centerX(value:Number):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject.x&nbsp;=&nbsp;value&nbsp;-&nbsp;_displayObject.width&nbsp;/&nbsp;2; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;centerY():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_displayObject.y&nbsp;+&nbsp;_displayObject.height&nbsp;/&nbsp;2;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;set&nbsp;centerY(value:Number):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject.y&nbsp;=&nbsp;value&nbsp;-&nbsp;_displayObject.height&nbsp;/&nbsp;2; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;regX():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_regX;&nbsp;}&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;regY():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_regY;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;DynamicRegistrationDisplayObject():</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initializtion(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;setRegistrationByStage(stageX:Number,&nbsp;stageY:Number):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegX&nbsp;=&nbsp;stageX; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegY&nbsp;=&nbsp;stageY; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;p:Point&nbsp;=&nbsp;_displayObject.globalToLocal(</span><span class="keyword">new</span><span>&nbsp;Point(stageX,stageY)); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regX&nbsp;=&nbsp;p.x; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regY&nbsp;=&nbsp;p.y; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;setRegistrationBySelf(selfX:Number,&nbsp;selfY:Number):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;p:Point&nbsp;=&nbsp;_displayObject.localToGlobal(</span><span class="keyword">new</span><span>&nbsp;Point(selfX,selfY)); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegX&nbsp;=&nbsp;p.x; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_stageRegY&nbsp;=&nbsp;p.y;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regX&nbsp;=&nbsp;selfX; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_regY&nbsp;=&nbsp;selfY; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;rotationByRefer():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_displayObject.rotation&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;set&nbsp;rotationByRefer(value:Number):</span><span class="keyword">void</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setPropRel(</span><span class="string">&quot;rotation&quot;</span><span>,&nbsp;value); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;scaleXByRefer():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_displayObject.scaleX&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;set&nbsp;scaleXByRefer(value:Number):</span><span class="keyword">void</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setPropRel(</span><span class="string">&quot;scaleX&quot;</span><span>,&nbsp;value); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;scaleYByRefer():Number&nbsp;{&nbsp;</span><span class="keyword">return</span><span>&nbsp;_displayObject.scaleY&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;set&nbsp;scaleYByRefer(value:Number):</span><span class="keyword">void</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setPropRel(</span><span class="string">&quot;scaleY&quot;</span><span>,&nbsp;value); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;initializtion(displayObject:DisplayObject=</span><span class="keyword">null</span><span>):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//throw&nbsp;new&nbsp;Error(&quot;AbstractTile&nbsp;is&nbsp;an&nbsp;Abstract&nbsp;Class&quot;); </span><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject&nbsp;=&nbsp;displayObject&nbsp;||&nbsp;</span><span class="keyword">new</span><span>&nbsp;Sprite(); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">protected</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;setPropRel(property:String,&nbsp;value:Number):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;p:Point&nbsp;=&nbsp;_displayObject.parent.globalToLocal(_displayObject.localToGlobal(</span><span class="keyword">new</span><span>&nbsp;Point(_regX,&nbsp;_regY))); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject[property]&nbsp;=&nbsp;value;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;pp:Point&nbsp;=&nbsp;_displayObject.parent.globalToLocal(_displayObject.localToGlobal(</span><span class="keyword">new</span><span>&nbsp;Point(_regX,&nbsp;_regY)));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject.x&nbsp;-=&nbsp;pp.x&nbsp;-&nbsp;p.x; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_displayObject.y&nbsp;-=&nbsp;pp.y&nbsp;-&nbsp;p.y; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_depth:Number; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_label:String; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_regX:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_regY:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_stageRegX:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;_stageRegY:Number&nbsp;=&nbsp;0; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;&nbsp;_displayObject:DisplayObject; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>}&nbsp;</span></li></ol></pre>
<p>&nbsp;</p>
<p>应用代码:</p>
<p>&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">package</span><span>&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;com.xintend.util.DynamicRegistrationDisplayObject; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.display.Sprite; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.events.MouseEvent; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.geom.Point; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/** </span>&nbsp;</li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;[AS3]DynamicRegistrationDisplayObjectTest </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;动态注册点测试 </span>&nbsp;</span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@author&nbsp;telds[kingfo]&nbsp;www.xintend.com&nbsp; </span>&nbsp;</span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;DynamicRegistrationDisplayObjectTest&nbsp;</span><span class="keyword">extends</span><span>&nbsp;Sprite&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;a:DynamicRegistrationDisplayObject=&nbsp;</span><span class="keyword">new</span><span>&nbsp;DynamicRegistrationDisplayObject(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;t:Sprite&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Sprite(); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;</span><span class="keyword">var</span><span>&nbsp;c:CrossHairs&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;CrossHairs(); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;DynamicRegistrationDisplayObjectTest():</span><span class="keyword">void</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.graphics.beginFill(0xFF0000); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.graphics.drawRect(0,&nbsp;0,&nbsp;80,&nbsp;40); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.graphics.endFill(); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.x&nbsp;=&nbsp;t.x&nbsp;=&nbsp;stage.stageWidth&nbsp;/&nbsp;2-&nbsp;t.width/2; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.y&nbsp;=&nbsp;t.y&nbsp;=&nbsp;stage.stageHeight&nbsp;/&nbsp;2&nbsp;-&nbsp;t.height/2; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.buttonMode&nbsp;=&nbsp;</span><span class="keyword">true</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.useHandCursor&nbsp;=&nbsp;</span><span class="keyword">true</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.addEventListener(MouseEvent.MOUSE_DOWN,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.addEventListener(MouseEvent.MOUSE_OUT,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.initializtion(t); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addChild(t); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addChild(c); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span>&nbsp;&nbsp;</span><span class="keyword">function</span><span>&nbsp;handleMOUSE(event:MouseEvent):</span><span class="keyword">void</span><span>&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">switch</span><span>(event.type)&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;MouseEvent.MOUSE_DOWN: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.setRegistrationByStage(mouseX,&nbsp;mouseY); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(a.regX,a.regY); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(a.stageRegX,&nbsp;a.stageRegY); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(t.globalToLocal(</span><span class="keyword">new</span><span>&nbsp;Point(mouseX,0)).x,t.globalToLocal(</span><span class="keyword">new</span><span>&nbsp;Point(0,mouseY)).y); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.x&nbsp;=&nbsp;mouseX; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.y&nbsp;=&nbsp;mouseY &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeEventListener(MouseEvent.MOUSE_DOWN,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEventListener(MouseEvent.MOUSE_MOVE,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEventListener(MouseEvent.MOUSE_UP,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;MouseEvent.MOUSE_MOVE: &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(t.mouseX&nbsp;-&nbsp;a.regX,&nbsp;t.mouseY&nbsp;-&nbsp;a.regY); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.rotationByRefer&nbsp;+=&nbsp;5; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//a.scaleXByRefer&nbsp;+=&nbsp;5; </span><span>&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">case</span><span>&nbsp;MouseEvent.MOUSE_UP:&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEventListener(MouseEvent.MOUSE_DOWN,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeEventListener(MouseEvent.MOUSE_MOVE,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">default</span><span>: &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEventListener(MouseEvent.MOUSE_DOWN,&nbsp;handleMOUSE); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removeEventListener(MouseEvent.MOUSE_MOVE,&nbsp;handleMOUSE); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>} &nbsp;</span></li><li><span class="keyword">import</span><span>&nbsp;flash.display.Shape; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span class="keyword">class</span><span>&nbsp;CrossHairs&nbsp;</span><span class="keyword">extends</span><span>&nbsp;Shape&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;CrossHairs()&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.lineStyle(1,0); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.moveTo(&nbsp;-10,&nbsp;0); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.lineTo(&nbsp;10,&nbsp;0); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.moveTo(&nbsp;0,&nbsp;-10); &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.lineTo(&nbsp;0,&nbsp;10); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>}&nbsp;</span></li></ol></pre>
<p>SWF:&nbsp;<br />
<embed src="/Attach/200808/633552714761093750_TileSystem.swf" type="application/x-shockwave-flash"></embed><br />
<a href="/Attach/200808/633552714761093750_TileSystem.swf">点击下载此文件</a></p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/DwdVvHkecwKRnehOgFWH.aspx]]></link>
	<title><![CDATA[应邀撰陋文一篇]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-7-15 0:00:57</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/DwdVvHkecwKRnehOgFWH.aspx]]></guid>
	<description><![CDATA[<p>应天地会AS3CN兄弟邀请，故特书此片文章，不为别的，只为祝福AS3CN杂志越办越好~~~</p>
<p><img alt="" src="/Attach/200807/633516769074843750_magazine.jpg" /></p>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/dVUVRnvJzPlSFJogyjWr.aspx]]></link>
	<title><![CDATA[[原]开发模式小结---三种基本模式]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-7-4 21:06:16</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/dVUVRnvJzPlSFJogyjWr.aspx]]></guid>
	<description><![CDATA[<p>本人是作为一名adobe前端开发者，针对开发方面做的一些总结。涉及面可能比较狭隘，但本着&ldquo;狭隘着、狭隘着、最终广泛着&rdquo;的精神继续本人的超级打算。</p>
<p>这里所说的开发模式是开发前所需要思考的问题。</p>
<p>这里就不长篇大论了，依次罗列和解说如下：</p>
<p>三种开发模式：</p>
<p>A.从底至上</p>
<p>B.从上往下</p>
<p>C.各路铺开</p>
<p>&nbsp;</p>
<p>A.从底至上是本人认为最为保守，和最为有效的开发模式，原因在于，你经过对即将展开的项目中，挑选出自己认为最喜欢和最希望能够实现的功能，包含了可行性测试和简单的方法实现。精髓就在于&ldquo;足够简单的实现&rdquo;。这就决定了，开发者可以立即着手开始自己最关心的部分实现。</p>
<p>B.由上往下，这可能会和设计模式结合在一起，因为从上而下，精髓在于&ldquo;足够全面的考虑&rdquo;，当然这里所说的足够全面是当前情况下必要考虑。而和设计模式结合的原因就是减少改动的开销，和已有资源的重复利用。一般来说这种模式需要依靠在这个领域有足够经验的人，至于一般的开发者如何获取如此的经验就不在本文中考虑了。</p>
<p>C.各路铺开这种模式之所以独立于前两者的原因在于，这个模式下不仅仅是一个人的模式。这意味着这个项目将是跨领域或是跨行业的，需要在展开前需要收集各种信息，通过验证的手段进行筛选然后全局应用。也许在很多情况下这种方式是必要的和极限的。本人是不太推荐这个模式，因为这意味着最大成本的投入。当然目前互联网商业上的项目应用倒是比较接近这个。</p>
<p>小结：</p>
<p>个人的兴趣项目可以考虑模式A，而想让自己成为架构师等级的则可以从B开始锻炼，而C则一般在互联网商业团队中已经类似，所以，这就需要有成熟的B专家，和优秀的A的成员们。</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/mystory_1.aspx]]></link>
	<title><![CDATA[[原创故事]另一个世界_混沌之元_泰格斯]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-7-3 23:56:21</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/mystory_1.aspx]]></guid>
	<description><![CDATA[<p>开始之前：每个游戏之前都要有一个说的过去的故事，遂欲撰此系列虚构的故事，尝试性的写点东西。</p>
<p>-----------------------------------------------------------------------------------------------------------------------------</p>
<p>章1：混沌之元<br />
节1：泰格斯</p>
<p>泰格斯一直不知道自己父母是谁，从小也没有人抚养自己，谁也不知道他的过去，自从泰格斯发现自己晕倒在沼泽旁，这就是他的首要的问题。</p>
<p>泰格斯也许失意了，这让他觉得是件不可思议的事，但事实如此。无论如何回忆自己的过去，最终始终都是空白。但回忆别的倒是可以立即找到答案。</p>
<p>&ldquo;该死的，莫非我患了选择性失意？！！TMD，只有在小说里出现的事情竟然发生了！！&rdquo;泰达斯懊恼道。</p>
<p>庆幸的是泰格斯知道自己的名字和住址，以及出生时间，因为他从自己的上衣袋里发现了一张卡片，准确的说是张印有某个标记的身份证，上面写着&ldquo;世纪联邦政府公民身份证&rdquo;字样。在姓名一栏内写着&ldquo;泰格斯&rdquo;，在住址一栏写着&ldquo;湖枫境月州，黄昏湖49307号，锦座18楼601室&rdquo;，而出生一栏则写着世纪元年0029.07.07。而在最后一栏有着行128位的数字以及对应的条形码，在卡片的背面，除了像正面的&ldquo;世纪联邦政府&rdquo;一样的标记外，还印有一个光芒四射的太阳标记，除了在一旁小字外没任何关于此标记的解释，那行小字写着&ldquo;宗教派别&rdquo;。</p>
<p>泰格斯冷静下来后，回忆起自己是个魔法师，但不幸的选择性失意让他无法回忆起这些技能是谁教他的。不过这些问题在这个时候并不是最重要的。</p>
<p>最重要的是解决当前的问题：自己绕这块大地行走了那么长时间，没有发现任何人的踪迹。四处都是古怪的绿色和深紫色的类苔藓的东西，而且在他们之上长出了浅棕色的枝干，而且如果停下来观察，可以发现他们生长速度非常快，像某种攀爬植物，沿着地形向前伸展，遇到同类的枝干，较大的枝干会立刻折断较小的枝干继续向前，而折断的较小枝干则会在断裂的地方流出深红色，浓稠而异味的液体，但很快就会愈合，长出比原先更小的枝干越过较触的枝干继续延伸。</p>
<p>这样的环境不止一次让泰格斯犯恶心，而且十分害怕，因为第一次见到这个状况的时候，泰格斯使用了燃烧之手的魔法，本想烧毁在他面前的这些恶心的东西，但没想到，在烧毁后，竟然从焦黑的枝干管中涌出了大量的白色球体，向他扑来，并粘住他的全身，虽然对拥有法术屏障的泰格斯来说并什么多大伤害，但这些急速聚集的白色小球以数以万计的数量向他堆叠过去。好在泰格斯使用了冰障术，冻住了向他扑来的白色小球，并使用了两次瞬闪术离开了那个地方。</p>
<p>&nbsp;</p>
<p>(待续)2008-07-03 23:56:21</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/Scrum_my_Intend.aspx]]></link>
	<title><![CDATA[[原]Scrum小规模实践心得]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-6-30 23:07:02</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/Scrum_my_Intend.aspx]]></guid>
	<description><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 42pt; letter-spacing: 1.5pt"><font face="Calibri">Scrum</font></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 42pt; letter-spacing: 1.5pt"><font face="Calibri"><o:p></o:p></font></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><b style="mso-bidi-font-weight: normal"><span style="font-size: 14pt; font-family: 宋体; letter-spacing: 1.5pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">小规模实践心得</span></b><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 14pt; letter-spacing: 1.5pt"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><b style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; letter-spacing: 1.5pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">作者</span><span lang="EN-US" style="letter-spacing: 1.5pt"><font face="Calibri">:</font></span></b><b style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; letter-spacing: 1.5pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">KingFo</span><span lang="EN-US" style="letter-spacing: 1.5pt"><span style="mso-spacerun: yes"><font face="Calibri">&nbsp;&nbsp; </font></span></span></b><b style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; letter-spacing: 1.5pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">撰写日期</span><span lang="EN-US" style="letter-spacing: 1.5pt"><font face="Calibri">:2008-6-30<o:p></o:p></font></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%"><span lang="EN-US"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 22pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">&ldquo;</span><font face="Calibri"><span lang="EN-US" style="font-size: 22pt; line-height: 150%">S</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%">crum</span></font><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">，源自英式橄榄球，团队成员在商定好战略后，按照预定章法向前冲。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">在软件开发模型中，这个词代表了敏捷开发的一种。它主要强调的是重新开始迭代的过程，而不是企图补救问题，诸如某公司的产品的本身就是建立在客户的即使反馈上，这意味着在开发过程中需求总是不断的变化和交错的。&rdquo;</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">一个典型的例子是，某公司接到一个项目，在这项目开始前谁都无法给出该项目具体的最终形态和功能需求，可能仅仅只知道该项目应该成为什么样子，或者应该向什么方向发展。在项目展开阶段过程中，无论创意、策划、研发都需要通过各种尝试性的错误，才能正确定位。这就好比是英式橄榄球中，除了明确知道最终目标是什么，谁都不知道过程中会发生什么，这就需要各队员间的高度配合，和高度自由的密切合作，以及拿到球就往前冲。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">通常的</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Scrum</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">开发流程一般以</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">30</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">天或更短为一个阶段，由于我们</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Adobe RIA</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">技术团队具备相对其他开发组的人力及人员涉及面优势，故将迭代周期制定为一周，在这一周内我们所需要做的是</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 57pt; text-indent: -18pt; line-height: 150%; mso-list: l3 level1 lfo1"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">1.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">尽量在这周内完成已定目标。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 57pt; text-indent: -18pt; line-height: 150%; mso-list: l3 level1 lfo1"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">2.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">每天通过昨天的目标是否完成、目标是否遇到障碍、今日如何开始的三个问题进行每日</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">15</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">分钟的例会，这些例会都是在上班开始后</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">15</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">分钟内举行。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 57pt; text-indent: -18pt; line-height: 150%; mso-list: l3 level1 lfo1"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">3.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">在周一召开的是未来一周内所需要的目标评估制定，和明确到每日的必完成事项。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 57pt; text-indent: -18pt; line-height: 150%; mso-list: l3 level1 lfo1"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">4.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">在周六召开的是这一整周下来的问题性团队解答，以及产品的回顾和评审。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">下面将详细阐述整个周期从开始到结束，以及再开始的过程，我们可以把这样的周期看成为&ldquo;开始</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">-></font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">结束</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">-></font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">再开始&rdquo;的过程</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">.<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">在开始的详细叙述之前，需要强调的几个关键词和解释按序号罗列如下：</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l2 level1 lfo2"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">1.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">产品负责人</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Product Owner)<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">一般是指由产品经理指派，或产品所有者指派的，负责跟踪和提出产品相关需求的人员，人数一般为</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">1-2</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">名。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l2 level1 lfo2"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">2.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Scrum</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">管理员</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Scrum Master)<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">一般是指了解和熟悉</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Scrum</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">过程，或者愿意出面担当整个项目负责人，以及向产品负责人以及团队之间解释和帮助理解</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Scrum</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">的利益，以获取整体的帮助和支持。他主要负责的是已定例会的及时召开，以及产品项目整体跟踪。一般指定</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">1</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">名。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l2 level1 lfo2"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">3.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">待办事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Backlog)<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">就是对已知事项，通过三要素</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">重要性、优先级、要求目标</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">进行罗列的事项列表。以一项一条列出。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l2 level1 lfo2"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">4.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">已知产品事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Product Backlog)<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">由产品负责人提出的产品上大致的功能性和非功能性的需求列表，按客户需求以重要性和优先级罗列的大致事项。这是给出方向性的第一步。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l2 level1 lfo2"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">5.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">选定产品事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Selected Backlog)<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">这是由产品负责人和项目团队间，通过对已知产品事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Product Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">及有效沟通，将最可能完成和相对成本较低的事项按次序罗列的表格。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l2 level1 lfo2"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">6.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">迭代冲刺期事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Sprint Backlog)<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">这是仅仅由项目团队内部，自我选择和自主担任的事项列表，以确保在已制定的迭代期时间内能够完成的事项，按预计完成日期顺序排列的表格。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l2 level1 lfo2"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">7.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">障碍和问题事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Obstacle Backlog)<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">这是由项目团队内部，通过策划，创意以及研发中失败以及在迭代期内暂时无法完成事项，按时间顺序罗列的表格。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">关于开始：</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">首先，我们要做的就是关于产品的信息收集，这个时候可称为全员通报大会，主要是召集被选定的团队人员以及产品负责人</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Product Owner)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">进行本次项目通报，收集尽可能多的信息。在这期间，除了明确产品的大致方向外，有必要向相关人员解释他们所在整个项目中的相应角色及作用。另外需要明确的是在整个周期过程中的例会次数和时间，以及指定出明确的集体交流场所。通过相关描述将产品的方向性内容罗列成为已知产品事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Product Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">其次，由团队和产品负责人之间，相互沟通，以让彼此明确每个产品事项的重要性和优先级</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">即所谓的紧急性</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">，团队沟通的明确目标是将最重要的和最紧急的事项，通过工作量</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">/</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">工作成本一一罗列出，并让产品负责人明白哪些可以细分工作，哪些是可以更快完成，哪些是需要具备某些资源后才能开始。并按工作量或工作成本较低的几项纳入到选定产品事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Selected Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">中，并罗列成表格。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">再次，由团队内部，通过已有人力物力，从选定产品事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Selected Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">中选出相关事项最佳负责人选。然后各相关事项负责人可以按自己的能力将事项再分为自己最小时间能达成的事项，这是最关键和最重要的部分。通过对该事项的工作量，工作时间，以及完成日期的确定，这时，迭代冲刺期事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Sprint Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">就完成了。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">接下来，就是冲刺期间的最小单位团队间的每日例会，依次按三个问题提问</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">:<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo3"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">1.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">昨天的目标是否完成？</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 81.15pt; text-indent: 3pt; line-height: 150%; mso-para-margin-left: 7.73gd"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">如果已完成，则会后通知与此相关的责任人。且直接回答第三问。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 81.15pt; text-indent: 3pt; line-height: 150%; mso-para-margin-left: 7.73gd"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">未完成则讨论第二问。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: 3pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo3"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">2.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">目标遇到什么困难和障碍？</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 78.2pt; text-indent: 3pt; line-height: 150%; mso-para-margin-left: 7.45gd"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">将困难的特征描述，以获得团队内部其他人员的提示，以便于更好的进行。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 78.2pt; text-indent: 3pt; line-height: 150%; mso-para-margin-left: 7.45gd"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">如果该困难需要更多的资源支持，可尝试性的将问题拆分为若干子项。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 78.2pt; text-indent: 3pt; line-height: 150%; mso-para-margin-left: 7.45gd"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">如果该困难需要花费更多时间完成，则在预期周期内可以考虑选择，周期以外的，按紧急程度会后向产品负责人提出请求。并将该问题按发生事件和所在周期罗列入障碍和问题事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Obstacle Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">中。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 60pt; text-indent: -18pt; line-height: 150%; mso-list: l0 level1 lfo3"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">3.</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">今天如何开始？</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: 3pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">这主要描述的是，障碍或者接下来要解决的事项如何开始，完成后向谁提交等等问题，以及可能在开发中涉及到的遗留问题。诸如，前项未完成，牵连到当前的几项，依次按障碍和问题事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Obstacle Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">的要求罗列入该表中。如果当前迭代冲刺期事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Sprint Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">在上述事项中已空，则再次从选定产品事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Selected Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">选择自己相应能够完成的或者感兴趣能完成的事项，添加到当前迭代冲刺期事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">(Sprint Backlog)</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">中。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: center" align="center"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="width: 379.5pt; height: 245.25pt" type="#_x0000_t75"><v:imagedata o:title="HRB0" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg"></v:imagedata></v:shape><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><span style="mso-tab-count: 1"><font face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">看上去可能整个敏捷体系比较复杂，其实，整体运行起来抓住以下几个关键词就相对来说会更容易些，当然，如果只是团队中的一员，这些完全都不用考虑，只需要知道直接感兴趣和能够最快完成的事项以及如何高效完成就可以了。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><span style="mso-tab-count: 1"><font face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">整个体系个关键词就是</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt; line-height: 150%; mso-list: l1 level2 lfo4"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">a)</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Backlog<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">---<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">罗列尽可能多的事项</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt; line-height: 150%; mso-list: l1 level2 lfo4"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">b)</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Packets <span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">---<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">将</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Backlog</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">单元分配及相关任务打包指派</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt; line-height: 150%; mso-list: l1 level2 lfo4"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">c)</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font face="Calibri"><span lang="EN-US">Changes<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US"><font face="Calibri">---<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">将变动反映到每个</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Packets</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">中去</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt; line-height: 150%; mso-list: l1 level2 lfo4"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">d)</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Problems<span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: 21pt; line-height: 150%"><font face="Calibri"><span lang="EN-US" style="font-size: 12pt; line-height: 150%">---<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US">Changes</span></font><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">产生的难题都必须具备对应的解决方案和解决链</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt; line-height: 150%; mso-list: l1 level2 lfo4"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">e)</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Issue<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">---<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">从</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Backlog</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">到</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Packets</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">指派过程中应该落实的事宜</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt; line-height: 150%; mso-list: l1 level2 lfo4"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">f)</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Solutions<span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">---<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">针对</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Problems</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">或</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Issue</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">解决方案及产生的</span><font face="Calibri"><span lang="EN-US">Changes</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt; line-height: 150%; mso-list: l1 level2 lfo4"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><span style="mso-list: Ignore"><font face="Calibri">g)</font><span style="font: 7pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font face="Calibri"><span lang="EN-US">Risks<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US"><font face="Calibri">---<span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">针对时间、需求、竞争力、质量、可用资源、产品远景的风险评估</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">当然，本人也是仅仅是该方式的新手级人物，主要是感觉这样的思想很方式很适合像我们这样</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Adobe RIA</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">技术的团队。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">以以下网络摘录的心得作为本稿的结束：</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 31.5pt; line-height: 150%; mso-para-margin-left: 3.0gd"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">&ldquo;</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">1.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">有商业价值的东西才是企业的目的。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">2.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">团队有权限自行设定交付期限。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">3.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">交付可以使用的软件是最为重要的目标。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">4.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">预先建模和需求采集阶段则要求尽量简单。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">5.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">需求采集并不是在项目早期便结束，而是会在项目开始后很长时间内一直进行的过程。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">6.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">敏捷开发先交付最有用的部分。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">7.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">敏捷注重的是反馈</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">,</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">反馈是双向的。你可以知道增量版本功能是否符合要求，而客户则可以知道你现在在干什么。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">8.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">最好的构架、需求和设计出自于自组织的团队。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">9.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">目标是明确的（不排除有些客户目标也不明确），但是具体怎么做，开始时是没有想法的。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">10.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">敏捷强调的是自组织团队，发挥人的能动性，以动力代替压力，让人有绝对自由的错觉。</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; line-height: 150%; mso-para-margin-left: 4.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">11.</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">敏捷不是许多人独立负责开发项目的各个部分，而是大家联合起来，作为一个团队来开发某个部分。&rdquo;</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p><font face="Calibri">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%"><b style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">相关参考：</span></b><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">《</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Scrum And Xp From The Trenches --- How we do Scrum</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">》</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 52.5pt; text-indent: 10.5pt; line-height: 150%; mso-para-margin-left: 5.0gd"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">---Henrik Kniberg<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">《</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Microsoft .NET </font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">技術代言人專欄：敏捷的軟體開發流程》</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>---</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">作者：林耀珍</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>2003 </font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">年</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri"> 11 </font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">月</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">《</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">What is Scrum?</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">》</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>---http://www.controlchaos.com/about/<o:p></o:p></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">《</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri">Scrum Checklists</font></span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">》</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>---http://www.sprint-it.com/scrum-checklists<o:p></o:p></font></span></p>
<p>&nbsp;</p>]]></description>
</item>
<item>
	<link><![CDATA[http://www.xintend.com/article/as3dndcoresys_DiceClass_2.aspx]]></link>
	<title><![CDATA[[原]关于股子系统的优化]]></title>
	<author><![CDATA[KingFo]]></author>
	<category><![CDATA[原创]]></category>
	<pubDate>2008-6-25 0:18:58</pubDate>
	<guid><![CDATA[http://www.xintend.com/article/as3dndcoresys_DiceClass_2.aspx]]></guid>
	<description><![CDATA[<p>参考：<br />
DiceClass<br />
原作者:<br />
hexagonstar : http://www.hexagonstar.com/<br />
详情：<br />
<a href="http://bbs.actionscript3.cn/thread-2044-1-1.html">http://bbs.actionscript3.cn/thread-2044-1-1.html</a><br />
程序结构:<br />
Dice+ArrayUtil+NumberUtil，全静态类<br />
个人评论:<br />
NumberUtil内数值方面的是最值得借鉴的部分。<br />
<br />
由于目前本人Dice 需要应用于DND System中，所以改变了下结构和随机算法（目的在于工厂化生产Dice，以及Dice随机分布算法抽出方便以后采用不同的随机分布算法。）<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="comment">//系统结构伪码 </span><span>&nbsp;</span></span></li><li><span>Dice&nbsp;</span><span class="keyword">implements</span><span>&nbsp;IDice; &nbsp;</span></li><li class="alt"><span>RandomSystem&nbsp;</span><span class="keyword">implements</span><span>&nbsp;IRandomSystem &nbsp;</span></li><li><span>Random48&nbsp;</span><span class="keyword">extends</span><span>&nbsp;RandomSystem; &nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span class="keyword">interface</span><span>&nbsp;IRandomSystem&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">function</span><span>&nbsp;random(min:Number,&nbsp;max:Number):Number; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">function</span><span>&nbsp;randomByRound(min:Number,&nbsp;max:Number,round:</span><span class="keyword">int</span><span>):Array; &nbsp;</span></li><li class="alt"><span>} &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span class="keyword">interface</span><span>&nbsp;IDice&nbsp;&nbsp;{ &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;sided():</span><span class="keyword">int</span><span>; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">function</span><span>&nbsp;roll(round:</span><span class="keyword">int</span><span>,&nbsp;randomSystem:IRandomSystem):DiceArrayList; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">function</span><span>&nbsp;toString():String&nbsp; &nbsp;</span></li><li class="alt"><span>} &nbsp;</span></li><li><span>&nbsp;</span></li><li class="alt"><span class="keyword">class</span><span>&nbsp;DiceArrayList&nbsp;</span><span class="keyword">extends</span><span>&nbsp;com.xintend.as3.dnd.core.ArrayCollection&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;DiceArrayList(data:Array&nbsp;)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;average():</span><span class="keyword">int</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;max():</span><span class="keyword">int</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;min():</span><span class="keyword">int</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;get&nbsp;sum():</span><span class="keyword">int</span><span>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">protected</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;verifyInt():</span><span class="keyword">void</span><span>&nbsp;{} &nbsp;</span></li><li class="alt"><span>} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li></ol></pre>
<p>（测试类）：<br />
&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">package</span><span>&nbsp;{ &nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;com.xintend.as3.dnd.base.dice.Dice; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;com.xintend.as3.dnd.util.Random48; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;com.xintend.as3.dnd.util.RandomSystem; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">import</span><span>&nbsp;flash.display.Sprite; &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">class</span><span>&nbsp;Main&nbsp;</span><span class="keyword">extends</span><span>&nbsp;Sprite&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span>&nbsp;</span><span class="keyword">function</span><span>&nbsp;Main(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">var</span><span>&nbsp;d1:Dice&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Dice(4); &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(d1.roll(100,</span><span class="keyword">new</span><span>&nbsp;Random48())) &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(d1.roll(100,</span><span class="keyword">new</span><span>&nbsp;RandomSystem())) &nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;</span></li><li class="alt"><span>}&nbsp;</span></li></ol></pre>
<p>测试图(结构在output窗口)：<br />
<img alt="" src="/Attach/200806/633499517734531250_123.JPG" /><br />
<br />
再次感谢hexagonstar.com开源的DiceClass中的48位线性同余算法</p>]]></description>
</item>
</channel></rss>