<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>嘎嘎磨房 &#187; FLASH</title>
	<atom:link href="http://www.5ga.cn/blog/archives/category/computer_technology/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.5ga.cn/blog</link>
	<description>嘎嘎的博客</description>
	<lastBuildDate>Wed, 18 Jan 2012 05:35:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>2012年01月01日 Flash:TIME SPA</title>
		<link>http://www.5ga.cn/blog/archives/2012/01/2219/</link>
		<comments>http://www.5ga.cn/blog/archives/2012/01/2219/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 17:54:26 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[作品]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2219</guid>
		<description><![CDATA[开始时间:2011年08月17日 完成时间:2012年01月01日 制作介绍:Flash全站 参与人员:嘎嘎 使用技术:AS3,JSON交互 使用工具:Flash CS5,FlashDevelop 语言:中文,英文 网址:http://www.beijingtimespa.com/ 一个Flash全站的项目,界面很漂亮,呵呵!]]></description>
			<content:encoded><![CDATA[<div id="attachment_1927" class="wp-caption alignright" style="width: 310px"><a href="http://www.5ga.cn/blog/archives/2012/01/2219/" target="_blank"><img class="size-medium wp-image-2186" title="TIME SPA" src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/1-550x326.png" alt="TIME SPA" width="300" height="178" /></a><p class="wp-caption-text">TIME SPA</p></div>
<p><strong>开始时间:</strong>2011年08月17日<br />
<strong>完成时间:</strong>2012年01月01日<br />
<strong>制作介绍:</strong>Flash全站<br />
<strong>参与人员:</strong>嘎嘎<br />
<strong>使用技术:</strong>AS3,JSON交互<br />
<strong>使用工具:</strong>Flash CS5,FlashDevelop<br />
<strong>语言:</strong>中文,英文<br />
<strong>网址:</strong><a href="http://www.beijingtimespa.com/" target="_blank"><span style="color: #0000ff;">http://www.beijingtimespa.com/</span></a><span id="more-2219"></span></p>
<p>一个Flash全站的项目,界面很漂亮,呵呵!</p>
<p><img src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/2.jpg" alt="" title="2" width="550" height="344" class="aligncenter size-full wp-image-2227" /><br />
<img src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/3.jpg" alt="" title="3" width="550" height="344" class="aligncenter size-full wp-image-2228" /><br />
<img src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/4.jpg" alt="" title="4" width="550" height="344" class="aligncenter size-full wp-image-2229" /><br />
<img src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/5.jpg" alt="" title="5" width="550" height="344" class="aligncenter size-full wp-image-2224" /><br />
<img src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/6.jpg" alt="" title="6" width="550" height="344" class="aligncenter size-full wp-image-2225" /><br />
<img src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/7.jpg" alt="" title="7" width="550" height="344" class="aligncenter size-full wp-image-2226" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2012/01/2219/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2012年01月01日 Flash:CUTV视频直播点播</title>
		<link>http://www.5ga.cn/blog/archives/2012/01/2215/</link>
		<comments>http://www.5ga.cn/blog/archives/2012/01/2215/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 17:26:52 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[作品]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2215</guid>
		<description><![CDATA[开始时间:2011年07月18日 完成时间:2011年01月01日 制作介绍:CUTV视频播放暂时,鼠标进度条低码展示,维护 参与人员:嘎嘎,Tvie 使用技术:AS3,视频播放 使用工具:Flash CS5,FlashDevelop,Flex 网址:http://www.cutv.com DEMO:http://www.5ga.cn/biz/cutv/live.html 视频播放器,维护了一些功能,支持点播直播二种功能,迷你版,直播支持台的分类. 实现时间显示,跳转,全屏,分享,预览,动态切换loader等功能.]]></description>
			<content:encoded><![CDATA[<div id="attachment_2216" class="wp-caption alignright" style="width: 310px"><a href="http://www.5ga.cn/blog/archives/2012/01/2215/" target="_blank"><img class="size-medium wp-image-2231" title="CUTV视频直播点播" src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/cutv-550x440.png" alt="CUTV视频直播点播" width="300" height="240" /></a><p class="wp-caption-text">CUTV视频直播点播</p></div>
<p><strong>开始时间:</strong>2011年07月18日<br />
<strong>完成时间:</strong>2011年01月01日<br />
<strong>制作介绍:</strong>CUTV视频播放暂时,鼠标进度条低码展示,维护<br />
<strong>参与人员:</strong>嘎嘎,Tvie<br />
<strong>使用技术:</strong>AS3,视频播放<br />
<strong>使用工具:</strong>Flash CS5,FlashDevelop,Flex<br />
<strong>网址:</strong><a href="http://www.cutv.com" target="_blank"><span style="color: #0000ff;">http://www.cutv.com</span></a><span id="more-2215"></span><br />
<strong>DEMO:</strong><a href="http://www.5ga.cn/biz/cutv/live.html" target="_blank"><span style="color: #0000ff;">http://www.5ga.cn/biz/cutv/live.html</span></a><!--more--></p>
<p>视频播放器,维护了一些功能,支持点播直播二种功能,迷你版,直播支持台的分类.<br />
实现时间显示,跳转,全屏,分享,预览,动态切换loader等功能.</p>
<p style="text-align: center;"><a href="http://www.5ga.cn/blog/wp-content/uploads/2012/01/cutv1.png" target="_blank"><img class="aligncenter  wp-image-2217" title="cutv1" src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/cutv1.png" alt="" width="550" height="278" /></a></p>
<p style="text-align: center;"><a href="http://www.5ga.cn/blog/wp-content/uploads/2012/01/cutv2.png" target="_blank"><img class="aligncenter  wp-image-2218" title="cutv2" src="http://www.5ga.cn/blog/wp-content/uploads/2012/01/cutv2.png" alt="" width="550" height="278" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2012/01/2215/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash嵌入共享字体</title>
		<link>http://www.5ga.cn/blog/archives/2012/01/2212/</link>
		<comments>http://www.5ga.cn/blog/archives/2012/01/2212/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 18:38:44 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2212</guid>
		<description><![CDATA[1.将Flash字体在Flash的库里设置成类,比如:”cn.www.font.hyqytj”. 2.如果是外部的swf带字体,就载入字体后通过getDefinitionByName(“cn.www.font.hyqytj”) as Class,获取字体类 3.导入import flash.text.Font;类 4.注册全局字体Font.registerFont(字体类); var myFont:Font = new MyFont() as Font; 5.应用字体var format:TextFormat = new TextFormat(myFont.fontName, 25, null, true); txt.defaultTextFormat = format; 6.嵌入字体 txt.embedFonts = true; 12345678910var MyFont:Class = getDefinitionByName&#40;&#34;cn.www.font.hyqytj&#34;&#41; as Class; // 注册全局字体 Font.registerFont&#40;MyFont&#41;; var myFont:Font = new MyFont&#40;&#41; as Font; // 应用字体 var format:TextFormat = new TextFormat&#40;myFont.fontName, 25, null, true&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p>1.将Flash字体在Flash的库里设置成类,比如:”cn.www.font.hyqytj”.<br />
2.如果是外部的swf带字体,就载入字体后通过getDefinitionByName(“cn.www.font.hyqytj”) as Class,获取字体类<br />
3.导入import flash.text.Font;类<br />
4.注册全局字体Font.registerFont(字体类);<br />
var myFont:Font = new MyFont() as Font;<br />
5.应用字体var format:TextFormat = new TextFormat(myFont.fontName, 25, null, true);<br />
txt.defaultTextFormat = format;<br />
6.嵌入字体<br />
txt.embedFonts = true;</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6699cc; font-weight: bold;">var</span> MyFont<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Class</span> = <span style="color: #004993;">getDefinitionByName</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;cn.www.font.hyqytj&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #0033ff; font-weight: bold;">as</span> <span style="color: #004993;">Class</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #009900; font-style: italic;">// 注册全局字体</span><br />
<span style="color: #004993;">Font</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">registerFont</span><span style="color: #000000;">&#40;</span>MyFont<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #6699cc; font-weight: bold;">var</span> myFont<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Font</span> = <span style="color: #0033ff; font-weight: bold;">new</span> MyFont<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #0033ff; font-weight: bold;">as</span> <span style="color: #004993;">Font</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #009900; font-style: italic;">// 应用字体</span><br />
<span style="color: #6699cc; font-weight: bold;">var</span> format<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">TextFormat</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">TextFormat</span><span style="color: #000000;">&#40;</span>myFont<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">fontName</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">25</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #0033ff; font-weight: bold;">null</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #0033ff; font-weight: bold;">true</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
txt<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">defaultTextFormat</span> = format<span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #009900; font-style: italic;">// 嵌入字体</span><br />
txt<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">embedFonts</span> = <span style="color: #0033ff; font-weight: bold;">true</span><span style="color: #000066; font-weight: bold;">;</span><br />
txt<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> = <span style="color: #990000;">&quot;这里使用字体的样式&quot;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2012/01/2212/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash新的鼠标指针NativeMouse</title>
		<link>http://www.5ga.cn/blog/archives/2012/01/2211/</link>
		<comments>http://www.5ga.cn/blog/archives/2012/01/2211/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 17:44:28 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2211</guid>
		<description><![CDATA[来源：LiteFeel.com » 《flash本机鼠标指针NativeMouse》 1234567import flash.ui.Mouse; import flash.ui.MouseCursorData; var mouseData:MouseCursorData = new MouseCursorData&#40;&#41;; mouseData.data = Vector.&#40;&#91;bitmapData&#93;&#41;; mouseData.hotSpot = new Point&#40;5, 5&#41;; Mouse.registerCursor&#40;&#34;myMouse&#34;, mouseData&#41;; Mouse.cursor = &#34;myMouse&#34;; 可以将鼠标拖到swf之外,鼠标指针必须为BitmapData,并且尺寸不能超过32*32,使用多个BitmapData产生动画,而且可以定义动画幀频,这和SWF的幀频无关,动态设置鼠标热点.]]></description>
			<content:encoded><![CDATA[<p>来源：<a title="LiteFeel.com" href="http://litefeel.com/" target="_blank">LiteFeel.com</a> » <a title="flash本机鼠标指针NativeMouse" href="http://litefeel.com/archives/1359/" rel="bookmark" target="_blank">《flash本机鼠标指针NativeMouse》</a></p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.ui</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">Mouse</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.ui</span><span style="color: #000066; font-weight: bold;">.</span>MouseCursorData<span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #6699cc; font-weight: bold;">var</span> mouseData<span style="color: #000066; font-weight: bold;">:</span>MouseCursorData = <span style="color: #0033ff; font-weight: bold;">new</span> MouseCursorData<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
mouseData<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span> = Vector<span style="color: #000066; font-weight: bold;">.</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#91;</span><span style="color: #004993;">bitmapData</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
mouseData<span style="color: #000066; font-weight: bold;">.</span>hotSpot = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Point</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">5</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">5</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #004993;">Mouse</span><span style="color: #000066; font-weight: bold;">.</span>registerCursor<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;myMouse&quot;</span><span style="color: #000066; font-weight: bold;">,</span> mouseData<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #004993;">Mouse</span><span style="color: #000066; font-weight: bold;">.</span>cursor = <span style="color: #990000;">&quot;myMouse&quot;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
<p>可以将鼠标拖到swf之外,鼠标指针必须为BitmapData,并且尺寸不能超过32*32,使用多个BitmapData产生动画,而且可以定义动画幀频,这和SWF的幀频无关,动态设置鼠标热点.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2012/01/2211/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>updateAfterEvent的作用</title>
		<link>http://www.5ga.cn/blog/archives/2011/12/2207/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/12/2207/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 08:49:29 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2207</guid>
		<description><![CDATA[在flash.events.MouseVent,flash.events.KeyboardEvent,flash.events.TimerEvent的时候提高画面联动效果. updateAfterEvent()]]></description>
			<content:encoded><![CDATA[<p>在flash.events.MouseVent,flash.events.KeyboardEvent,flash.events.TimerEvent的时候提高画面联动效果.<br />
updateAfterEvent()</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/12/2207/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>stopImmediatePropagation和stopPropagation的区别</title>
		<link>http://www.5ga.cn/blog/archives/2011/12/2206/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/12/2206/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 02:53:11 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2206</guid>
		<description><![CDATA[12345678910111213141516171819this.addEventListener&#40;MouseEvent.MOUSE_DOWN, funA,false,2&#41;; this.addEventListener&#40;MouseEvent.MOUSE_DOWN, funB,false,1&#41;; function funA &#40;evt:MouseEvent&#41;:void&#123; &#160; &#160; &#160; &#160;trace &#40;&#34;A!&#34;&#41;; &#160; &#160; &#160; &#160;evt.stopImmediatePropagation &#40;&#41;; &#125; function funB &#40;evt:MouseEvent&#41;:void&#123; &#160; &#160; &#160; &#160;trace &#40;&#34;B!&#34;&#41;; &#125; //输出A。 //改为： function funA &#40;evt:MouseEvent&#41;:void&#123; &#160; &#160; &#160; trace &#40;&#34;A!&#34;&#41;; &#160; &#160; &#160; evt.stopPropagation&#40;&#41;; &#125; function funB &#40;evt:MouseEvent&#41;:void&#123; &#160; &#160; &#160; &#160;trace &#40;&#34;B!&#34;&#41;; &#125; //输出A，B。]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MOUSE_DOWN</span><span style="color: #000066; font-weight: bold;">,</span> funA<span style="color: #000066; font-weight: bold;">,</span><span style="color: #0033ff; font-weight: bold;">false</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MOUSE_DOWN</span><span style="color: #000066; font-weight: bold;">,</span> funB<span style="color: #000066; font-weight: bold;">,</span><span style="color: #0033ff; font-weight: bold;">false</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #339966; font-weight: bold;">function</span> funA <span style="color: #000000;">&#40;</span>evt<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #004993;">trace</span> <span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;A!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;evt<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">stopImmediatePropagation</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span><br />
<span style="color: #339966; font-weight: bold;">function</span> funB <span style="color: #000000;">&#40;</span>evt<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #004993;">trace</span> <span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;B!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span><br />
<span style="color: #009900; font-style: italic;">//输出A。</span><br />
<span style="color: #009900; font-style: italic;">//改为：</span><br />
<span style="color: #339966; font-weight: bold;">function</span> funA <span style="color: #000000;">&#40;</span>evt<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #004993;">trace</span> <span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;A!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; evt<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">stopPropagation</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span><br />
<span style="color: #339966; font-weight: bold;">function</span> funB <span style="color: #000000;">&#40;</span>evt<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #004993;">trace</span> <span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;B!&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span><br />
<span style="color: #009900; font-style: italic;">//输出A，B。</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/12/2206/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash player 请求本地存储为无限制 SharedObject</title>
		<link>http://www.5ga.cn/blog/archives/2011/11/2196/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/11/2196/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 06:27:24 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2196</guid>
		<description><![CDATA[这句代码弹出设置flashplayer本地存储大小限制窗口。 1flash.system.Security.showSettings&#40;SecurityPanel.LOCAL_STORAGE&#41;; 还需要用户手动滚动条来实现存储本地无限制。 下面这句代码可以实现用户只需点击允许即可实现存储无限制。 12var so:SharedObject =SharedObject.getLocal&#40;&#34;www.5ga.cn&#34;&#41;; so.flush&#40;10000000000&#41;; Android和iOS平台与电脑平台一样，支持SharedObject本地存储功能，所以可以在所有平台使用一样的代码来对应用程序状态（比如游戏进度、应用的偏好设置）进行保存和读取。如果你对SharedObject的保存和读取不是很清楚，下面的代码可以帮助你了解。 ●访问本地SharedObject数据 123456//blabla是自定义的字符串，本地存储文件会以它来命名。 var so:SharedObject = SharedObject.getLocal&#40;&#34;blabla&#34;&#41;; //so.data是SharedObject的只读属性，可以作为容器存放需要在本地存储的数据变量，（注意，本地存储的数据有大小限制，最多为100KB） so.data.savedata = &#34;What a nice function!!&#34;; //生成本地存储文件 so.flush&#40;&#41;; ●如果要清除特定的本地存储文件，可以用下面的代码来实现： 12var so:SharedObject = SharedObject.getLocal&#40;&#34;blabla&#34;&#41;; so.clear&#40;&#41;; Flex中的SharedObject对象可以实现web开发中的Cookie的功能，本例用到以下方法： 1.SharedObject.getLocal() 创建或连接本地共享对象； 2.SharedObject.flush() 立即把共享对象数据写入本地文件； 3.SharedObject.clear() 方法用于删除本地共享对象； 应用程序状态判断 举一个例子，如果你正在手机上玩一个有背景音乐的游戏，突然被来电打断，那么你当然不希望在通话的时候同时会听到游戏的背景音乐。或者你按了Back键回到了桌面，那么游戏也是理所应当被静音的。这就需要对应用程序的运行状态比如Activated, Deactivated添加侦听： 123456nativeApplication.addEventListener&#40;Event.DEACTIVATE, deactivateHandler&#41;;//flash本身失去焦点的事件 nativeApplication.addEventListener&#40;Event.ACTIVATE, activateHandler&#41;;//flash本身获取焦点的事件 function activateHandler&#40;pEvent:Event&#41;:void&#123; &#125; function deactivateHandler&#40;pEvent:Event&#41;:void&#123; &#125; 另外还有一些增加用户体验上的经验，比如如何处理被触摸控制的物体到达屏幕边界时的弹性缓冲运动，都可以用基本的ActionScript方法来进行处理和运算，这里不做详细介绍。 补充两点 1.避免使用Timer， 2.在一些静态图片的时候可以降低帧率]]></description>
			<content:encoded><![CDATA[<p>这句代码弹出设置flashplayer本地存储大小限制窗口。</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #004993;">flash.system</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">Security</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">showSettings</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">SecurityPanel</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">LOCAL_STORAGE</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
<p>还需要用户手动滚动条来实现存储本地无限制。</p>
<p>下面这句代码可以实现用户只需点击允许即可实现存储无限制。</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6699cc; font-weight: bold;">var</span> so<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">SharedObject</span> =<span style="color: #004993;">SharedObject</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getLocal</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;www.5ga.cn&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
so<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">flush</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">10000000000</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
<p><span id="more-2196"></span><br />
Android和iOS平台与电脑平台一样，支持SharedObject本地存储功能，所以可以在所有平台使用一样的代码来对应用程序状态（比如游戏进度、应用的偏好设置）进行保存和读取。如果你对SharedObject的保存和读取不是很清楚，下面的代码可以帮助你了解。</p>
<p>●访问本地SharedObject数据</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900; font-style: italic;">//blabla是自定义的字符串，本地存储文件会以它来命名。</span><br />
<span style="color: #6699cc; font-weight: bold;">var</span> so<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">SharedObject</span> = <span style="color: #004993;">SharedObject</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getLocal</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;blabla&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #009900; font-style: italic;">//so.data是SharedObject的只读属性，可以作为容器存放需要在本地存储的数据变量，（注意，本地存储的数据有大小限制，最多为100KB）</span><br />
so<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">data</span><span style="color: #000066; font-weight: bold;">.</span>savedata = <span style="color: #990000;">&quot;What a nice function!!&quot;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #009900; font-style: italic;">//生成本地存储文件</span><br />
so<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">flush</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
<p>●如果要清除特定的本地存储文件，可以用下面的代码来实现：</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6699cc; font-weight: bold;">var</span> so<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">SharedObject</span> = <span style="color: #004993;">SharedObject</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getLocal</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;blabla&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
so<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">clear</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
<p>Flex中的SharedObject对象可以实现web开发中的Cookie的功能，本例用到以下方法：<br />
1.SharedObject.getLocal() 创建或连接本地共享对象；<br />
2.SharedObject.flush() 立即把共享对象数据写入本地文件；<br />
3.SharedObject.clear() 方法用于删除本地共享对象；</p>
<p>应用程序状态判断<br />
举一个例子，如果你正在手机上玩一个有背景音乐的游戏，突然被来电打断，那么你当然不希望在通话的时候同时会听到游戏的背景音乐。或者你按了Back键回到了桌面，那么游戏也是理所应当被静音的。这就需要对应用程序的运行状态比如Activated, Deactivated添加侦听：</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">nativeApplication<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">DEACTIVATE</span><span style="color: #000066; font-weight: bold;">,</span> deactivateHandler<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #009900; font-style: italic;">//flash本身失去焦点的事件</span><br />
nativeApplication<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span>ACTIVATE<span style="color: #000066; font-weight: bold;">,</span> activateHandler<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #009900; font-style: italic;">//flash本身获取焦点的事件</span><br />
<span style="color: #339966; font-weight: bold;">function</span> activateHandler<span style="color: #000000;">&#40;</span>pEvent<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span><br />
<span style="color: #000000;">&#125;</span><br />
<span style="color: #339966; font-weight: bold;">function</span> deactivateHandler<span style="color: #000000;">&#40;</span>pEvent<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><span style="color: #000000;">&#123;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p>另外还有一些增加用户体验上的经验，比如如何处理被触摸控制的物体到达屏幕边界时的弹性缓冲运动，都可以用基本的ActionScript方法来进行处理和运算，这里不做详细介绍。</p>
<p>补充两点<br />
1.避免使用Timer，<br />
2.在一些静态图片的时候可以降低帧率</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/11/2196/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>as3进制转换与颜色分解合成</title>
		<link>http://www.5ga.cn/blog/archives/2011/09/2178/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/09/2178/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 20:49:27 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2178</guid>
		<description><![CDATA[十进制转换为十六进制： var aa=123456 trace(aa.toString(16)) 转换为十进制： trace(0x1b207) 颜色合成： var red=255,green=244,blue=233 var color24 = red 16; green = color24>>8 &#038; 0xFF; blue = color24 &#038; 0xFF; trace (red,green,blue); 32位颜色一样： alpha = color32 >> 24; red = color32 >> 16 &#038; 0xFF; green = color32 >> 8 &#038; 0xFF; blue = color232 &#038; 0xFF;]]></description>
			<content:encoded><![CDATA[<p>十进制转换为十六进制：</p>
<p>var aa=123456<br />
trace(aa.toString(16))</p>
<p>转换为十进制：<br />
trace(0x1b207)</p>
<p>颜色合成：</p>
<p>var red=255,green=244,blue=233<br />
var color24 = red << 16 | green << 8 | blue;<br />
trace(color24)</p>
<p>颜色提取：</p>
<p>var red:int,green:int,blue:int;<br />
var color24=16774377;<br />
red = color24>>16;<br />
green = color24>>8 &#038; 0xFF;<br />
blue = color24 &#038; 0xFF;<br />
trace (red,green,blue);</p>
<p>32位颜色一样：</p>
<p>alpha = color32 >> 24;<br />
red = color32 >> 16 &#038; 0xFF;<br />
green = color32 >> 8 &#038; 0xFF;<br />
blue = color232 &#038; 0xFF;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/09/2178/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Builder 4.5.1中的AIR SDK库及Flash Player debugger连接</title>
		<link>http://www.5ga.cn/blog/archives/2011/09/2174/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/09/2174/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 15:29:59 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2174</guid>
		<description><![CDATA[Flash Player debugger 下载地址： http://www.adobe.com/support/flashplayer/downloads.html AIR 2.7 （Runtime）下载地址： http://get.adobe.com/cn/air/ AIR 2.7 SDK 下载地址： http://www.adobe.com/products/air/sdk/ Flex SDK 4.5.1 Release Note： http://kb2.adobe.com/cps/906/cpsid_90671.html 根据Flex SDK 4.5.1的说明，发现似乎Flex SDK 4.5.1没有包含AIR 2.7，因此还需要将AIR SDK 2.7 合并到Flex 4.5.1里面，具体步骤： copy/paste 原来Flex SDK 4.5.1，并命名为SDK 4.5.1(with AIR 2.7) 将AIR SDK 2.7 即压缩后，paste 到SDK 4.5.1(with AIR 2.7)]]></description>
			<content:encoded><![CDATA[<p>Flash Player debugger 下载地址：<br />
<a href="http://www.adobe.com/support/flashplayer/downloads.html" target="_blank">http://www.adobe.com/support/flashplayer/downloads.html</a></p>
<p>AIR 2.7 （Runtime）下载地址：<br />
<a href="http://get.adobe.com/cn/air/" target="_blank">http://get.adobe.com/cn/air/</a></p>
<p>AIR 2.7 SDK 下载地址：<br />
<a href="http://www.adobe.com/products/air/sdk/" target="_blank">http://www.adobe.com/products/air/sdk/</a></p>
<p>Flex SDK 4.5.1 Release Note：<br />
<a href="http://kb2.adobe.com/cps/906/cpsid_90671.html" target="_blank">http://kb2.adobe.com/cps/906/cpsid_90671.html</a></p>
<p>根据Flex SDK 4.5.1的说明，发现似乎Flex SDK 4.5.1没有包含AIR 2.7，因此还需要将AIR SDK 2.7 合并到Flex 4.5.1里面，具体步骤：</p>
<p>copy/paste 原来Flex SDK 4.5.1，并命名为SDK 4.5.1(with AIR 2.7)<br />
将AIR SDK 2.7 即压缩后，paste 到SDK 4.5.1(with AIR 2.7)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/09/2174/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash元件尺寸和笔触问题</title>
		<link>http://www.5ga.cn/blog/archives/2011/08/2171/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/08/2171/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 11:33:15 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2171</guid>
		<description><![CDATA[在Flash中,如果一个显示对象设置他的高或者是宽,例如:mc.height =300;那么应该他的高是300,但是这个mc里有笔触的话,这个数值可能就不准确,笔触越大偏差越大,如果使用极细,这样设置的尺寸是没有问题的.看来Flash的问题还是不少啊~~~]]></description>
			<content:encoded><![CDATA[<p><strong>在Flash中,如果一个显示对象设置他的高或者是宽,例如:mc.height =300;那么应该他的高是300,但是这个mc里有笔触的话,这个数值可能就不准确,笔触越大偏差越大,如果使用极细,这样设置的尺寸是没有问题的.看来Flash的问题还是不少啊~~~</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/08/2171/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash中的scrollrect和mask</title>
		<link>http://www.5ga.cn/blog/archives/2011/08/2170/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/08/2170/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 10:16:45 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2170</guid>
		<description><![CDATA[Flash里加入了scrollrect,这个类似于功能mask但是又和mask有很多区别,首先,使用scrollrect的时候,你不用在去建立一个对象做专门mask,这样稍微会多用些内存吧. scrollrect的特点是,当这个加入场景生效后,他的x,y,坐标不会随着区域滚动而变化,width,height也不会变化,不过打开显示重回区域,就可以看到,其实是和mask差不多的运行. 当没有addChind到显示才会把上面的这些东西改变掉.]]></description>
			<content:encoded><![CDATA[<p>Flash里加入了scrollrect,这个类似于功能mask但是又和mask有很多区别,首先,使用scrollrect的时候,你不用在去建立一个对象做专门mask,这样稍微会多用些内存吧.<br />
scrollrect的特点是,当这个加入场景生效后,他的x,y,坐标不会随着区域滚动而变化,width,height也不会变化,不过打开显示重回区域,就可以看到,其实是和mask差不多的运行.<br />
当没有addChind到显示才会把上面的这些东西改变掉.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/08/2170/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flash.utils 动态函数获取</title>
		<link>http://www.5ga.cn/blog/archives/2011/08/2169/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/08/2169/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 08:35:32 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2169</guid>
		<description><![CDATA[Flash 通过 getDefinitionByName(name:String):Object,获取一个对象可以循环使用库里的对象列表 var tempClass:Class = getDefinitionByName(“库里的类全名”) as Class; addChild(new tempClass()); 这样就对一个类进行了应用. 也可以获取一个类的全部名称,可以做对照用.getQualifiedClassName(value:*):String var ClassName:String = getQualifiedClassName(root.场景的对象连接); 这样ClassName就是一个类连接. 可以获取一个场景里对象的类文本地址,然后在设置成动态类,然后在使用.]]></description>
			<content:encoded><![CDATA[<p>Flash 通过 getDefinitionByName(name:String):Object,获取一个对象可以循环使用库里的对象列表<br />
var tempClass:Class = getDefinitionByName(“库里的类全名”) as Class;<br />
addChild(new tempClass());<br />
这样就对一个类进行了应用.<br />
也可以获取一个类的全部名称,可以做对照用.getQualifiedClassName(value:*):String<br />
var ClassName:String = getQualifiedClassName(root.场景的对象连接);<br />
这样ClassName就是一个类连接.<br />
<strong>可以获取一个场景里对象的类文本地址,然后在设置成动态类,然后在使用.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/08/2169/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Flex发布SWC库文件</title>
		<link>http://www.5ga.cn/blog/archives/2011/08/2166/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/08/2166/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 10:11:42 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2166</guid>
		<description><![CDATA[建立Flex Library Project项目(创建Flex库项目) 编写程序文件,如果有路径直接在src里写入路径,生成就是带路径的. 建立程序文件后及修改后，则自动在默认bin目录下生成该项目的swc文件。 说明： 若手动删除文件后无法生成swc文件，请任意修改一个文件的内容或新建个有意义的类等，则swc文件会自动重新生成。 若需限定生成swc中的内容，则项目上点右键，选择 property，在flex library build path 属性中Classes标签下选择swc希望包含的类，在Assets下选择选用包括的资源，点击OK即可自动生成需要的swc库文件。 另： 若程序文件有错误则则可能导致swc库文件无法生成。 使用Flex可以生成只有文档的类swc库. 即使生成swc,也可以改名为rar,解压出swf然后进行破解.]]></description>
			<content:encoded><![CDATA[<ol>
<li>建立Flex Library Project项目<strong>(创建Flex库项目)</strong></li>
<li>编写程序文件,如果有路径直接在src里写入路径,生成就是带路径的.</li>
<li>建立程序文件后及修改后，则自动在默认bin目录下生成该项目的swc文件。</li>
</ol>
<p>说明：</p>
<ol>
<li>若手动删除文件后无法生成swc文件，请任意修改一个文件的内容或新建个有意义的类等，则swc文件会自动重新生成。</li>
<li>若需限定生成swc中的内容，则项目上点右键，选择 property，在flex library build path 属性中Classes标签下选择swc希望包含的类，在Assets下选择选用包括的资源，点击OK即可自动生成需要的swc库文件。</li>
</ol>
<p>另：<br />
若程序文件有错误则则可能导致swc库文件无法生成。<br />
使用Flex可以生成只有文档的类swc库.<br />
即使生成swc,也可以改名为rar,解压出swf然后进行破解.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/08/2166/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>北京工资福利保险计算器(五险一金)(2011年版本)</title>
		<link>http://www.5ga.cn/blog/archives/2011/07/2165/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/07/2165/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 11:20:24 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[作品]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2165</guid>
		<description><![CDATA[开始时间:2009年11月06日 完成时间:2011年07月01日 制作介绍:可以根据基本工资算出福利状况,以及对比现在的公司情况,看看到底克扣了什么哦! 参与人员:嘎嘎 使用技术:Flash AS2,Flash Lite 2.0 使用工具:Flash CS4 支持平台:基本上智能手机,屏幕分辨率240*320,网络,以后还会添加其他分辨率.希望大家支持. 语言:中文 出品:http://www.5ga.cn 下载:DownLoad (2011年起征点3500反键另存) 下载:DownLoad (2010年旧版反键另存) 2011年新版 2010年旧版 软件版权所有，免费使用．如果有错误请发送Mail:wjjhappy ^ gmail.com,谢谢!如果有算法更新也可以告诉我哦! 功能说明 自身:用户可以直接输入工资基数 标准:就是说按照国家的规定应该缴纳的数量. 标准:对比自己设置的自身和国家的标准,给出之间的差距,看是否现在合适,公司有没有搞你的猫腻. 保险介绍 社会保险:养老保险+医疗保险+失业保险+生育保险+工伤保险+住房公积金 养老保险:交满15年以后到退休的时候才能终生享受养老金,退休时候国家会把你个人帐户上存的8%的养老金全部退给你,单位为你交的20%的钱划到国家养老统筹基金里! 医疗保险:住院报销 失业保险:就是你被公司开掉的时候拿的赔偿,好像是!-_- 生育保险:生育保险起码要交一年才能享受! 工伤保险:实践中一般用得少! 住房公积金:公积金可以用来买房子,还贷款,装修什么的!如果你一直不用这钱,最后退休的时候貌似可以把钱全部取出来!当然搞个假发票和合同,盖个罗卜章也能取出来! 软件介绍 系统需求:至少Flash Play 8 (电脑) 　　　　 至少Flash Lite 2 (手机) 分辨率:240*320 像素 (准备开发其他分辨率版本,敬请期待) 2009-11-06 开始开发本软件. 2009-11-07 发布v1.0版本,完成自身和标准. 2009-11-08 发布v1.2版本,完成对比和帮助. 2009-11-09 发布v1.3版本,增加翻页按钮. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>开始时间:</strong>2009年11月06日<br />
<strong>完成时间:</strong>2011年07月01日<br />
<strong>制作介绍:</strong>可以根据基本工资算出福利状况,以及对比现在的公司情况,看看到底克扣了什么哦!<br />
<strong>参与人员:</strong>嘎嘎<br />
<strong>使用技术:</strong>Flash AS2,Flash Lite 2.0<br />
<strong>使用工具:</strong>Flash CS4<br />
<strong>支持平台:</strong>基本上智能手机,屏幕分辨率240*320,网络,以后还会添加其他分辨率.希望大家支持.<br />
<strong>语言:</strong>中文<br />
<strong>出品:</strong><a href="http://www.5ga.cn/" target="_blank"><span style="color: #0000ff;">http://www.5ga.cn</span></a><br />
<strong>下载:</strong><a href="http://www.5ga.cn/blog/wp-content/uploads/2011/07/Wage240-320.swf"  target="_blank">DownLoad (2011年起征点3500反键另存)</a><br />
<strong>下载:</strong><a href="http://www.5ga.cn/blog/wp-content/uploads/2009/11/Wage240-320.swf"  target="_blank">DownLoad (2010年旧版反键另存)</a></p>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="middle"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="240" height="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.5ga.cn/blog/wp-content/uploads/2011/07/Wage240-320.swf" /><embed type="application/x-shockwave-flash" width="240" height="320" src="http://www.5ga.cn/blog/wp-content/uploads/2011/07/Wage240-320.swf"></embed></object></td>
<td align="center" valign="middle"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="240" height="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.5ga.cn/blog/wp-content/uploads/2009/11/Wage240-320.swf" /><embed type="application/x-shockwave-flash" width="240" height="320" src="http://www.5ga.cn/blog/wp-content/uploads/2009/11/Wage240-320.swf"></embed></object></td>
</tr>
<tr>
<td align="center" valign="middle">2011年新版</td>
<td align="center" valign="middle">2010年旧版</td>
</tr>
</table>
<p><span id="more-2165"></span><br />
<br />
软件版权所有，免费使用．如果有错误请发送Mail:wjjhappy ^ gmail.com,谢谢!如果有算法更新也可以告诉我哦!<br />
<br />
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.</p>
<p>功能说明</p>
<p>自身:用户可以直接输入工资基数<br />
标准:就是说按照国家的规定应该缴纳的数量.<br />
标准:对比自己设置的自身和国家的标准,给出之间的差距,看是否现在合适,公司有没有搞你的猫腻.</p>
<p>保险介绍</p>
<p>社会保险:养老保险+医疗保险+失业保险+生育保险+工伤保险+住房公积金<br />
养老保险:交满15年以后到退休的时候才能终生享受养老金,退休时候国家会把你个人帐户上存的8%的养老金全部退给你,单位为你交的20%的钱划到国家养老统筹基金里!<br />
医疗保险:住院报销<br />
失业保险:就是你被公司开掉的时候拿的赔偿,好像是!-_-<br />
生育保险:生育保险起码要交一年才能享受!<br />
工伤保险:实践中一般用得少!<br />
住房公积金:公积金可以用来买房子,还贷款,装修什么的!如果你一直不用这钱,最后退休的时候貌似可以把钱全部取出来!当然搞个假发票和合同,盖个罗卜章也能取出来!</p>
<p>软件介绍</p>
<p>系统需求:至少Flash Play 8 (电脑)<br />
　　　　 至少Flash Lite 2 (手机)<br />
分辨率:240*320 像素 (准备开发其他分辨率版本,敬请期待)<br />
2009-11-06 开始开发本软件.<br />
2009-11-07 发布v1.0版本,完成自身和标准.<br />
2009-11-08 发布v1.2版本,完成对比和帮助.<br />
2009-11-09 发布v1.3版本,增加翻页按钮.<br />
2010-07-22 发布v1.4版本,调整公积金上限2906,福利基数上限3726*3.<br />
2010-08-05 发布v1.4版本,福利基数上限4037*3.<br />
2011-07-01 发布v1.5版本,将起征点调整到3500元.使用调整后的7级超额累进税率计算.<br />
规划:增加年底双薪,年底奖金的计算.</p>
<p>算法依照的条款</p>
<p>医疗存折:<br />
1.在职职工，不满35岁周岁，按本人月缴费工资基数的0.8%划入个人账户<br />
2.在职职工，35周岁以上不满45周岁，按本人月缴费工资基数的1%划入个人账户<br />
3.在职职工，45周岁以上，按本人月缴费工资基数的2%划入个人账户<br />
4.退休人员，不满70周岁，按上一年本市职工月平均工资的4.3%划入个人账户<br />
5.退休人员，70周岁以上，按上一年本市职工月平均工资的4.8%划入个人账户<br />
住房公积金:北京2009住房公积金年度（2009年7月1日至2010年6月30日）住房公积金缴存比例为12%，缴存额上限为2682元<br />
失业保险:2009-03-06 自今年元旦起，本市失业保险费率由单位缴1.5%、个人缴0.5%，调整为单位缴1%、个人缴0.2%。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/07/2165/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash AS3 Socket编程</title>
		<link>http://www.5ga.cn/blog/archives/2011/06/2155/</link>
		<comments>http://www.5ga.cn/blog/archives/2011/06/2155/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 08:20:33 +0000</pubDate>
		<dc:creator>嘎嘎</dc:creator>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.5ga.cn/blog/?p=2155</guid>
		<description><![CDATA[AS3是单线程的，虽然可以模拟多线程，但毕竟那是假的，如果开发一些大一点的项目，后台技术是必不可少的了。 Socket是Flash固有的了，而且比较高效，因为它是以流的形式传递的，而webservice httpservice 是通过字符串传递的。如果使用XML Socket类来进行Socket连接的话，它是不能自动穿越防火墙的，要想穿过防火墙进行连接，则需要使用基于HTTP协议的RTMP协议。 一：Socket连接 1：建立连接 当然，要知道服务器的地址和端口，通过方法Socket.connect()或者XMLSocket.connect()与服务器建立连接，代码如： 123456789101112131415161718192021222324252627//Socket private var mySocket:Socket; //Socket连接 protected function BT_SKConnectClick&#40;event:MouseEvent&#41;:void &#123; &#160; &#160; try&#123; &#160; &#160; &#160; &#160; mySocket = new Socket&#40;&#41;; &#160; &#160; &#160; &#160; mySocket.addEventListener&#40;Event.CONNECT,mySocketOnConnect&#41;; &#160; &#160; &#160; &#160; mySocket.addEventListener&#40;IOErrorEvent.IO_ERROR,mySocketOnError&#41;; &#160; &#160; &#160; &#160; mySocket.addEventListener&#40;SecurityErrorEvent.SECURITY_ERROR,mySocketOnSecurityError&#41;; &#160; &#160; &#160; &#160; mySocket.addEventListener&#40;ProgressEvent.SOCKET_DATA,mySocketOnDataGet&#41;; &#160; &#160; &#160; &#160; // 连接 &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>AS3是单线程的，虽然可以模拟多线程，但毕竟那是假的，如果开发一些大一点的项目，后台技术是必不可少的了。</p>
<p>Socket是Flash固有的了，而且比较高效，因为它是以流的形式传递的，而webservice httpservice 是通过字符串传递的。如果使用XML Socket类来进行Socket连接的话，它是不能自动穿越防火墙的，要想穿过防火墙进行连接，则需要使用基于HTTP协议的RTMP协议。</p>
<p><span id="more-2155"></span></p>
<p><strong>一：Socket连接</strong><br />
<strong>1：建立连接</strong><br />
当然，要知道服务器的地址和端口，通过方法Socket.connect()或者XMLSocket.connect()与服务器建立连接，代码如：</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900; font-style: italic;">//Socket</span><br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> mySocket<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Socket</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #009900; font-style: italic;">//Socket连接</span><br />
<span style="color: #0033ff; font-weight: bold;">protected</span> <span style="color: #339966; font-weight: bold;">function</span> BT_SKConnectClick<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">try</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mySocket = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Socket</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Event</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">CONNECT</span><span style="color: #000066; font-weight: bold;">,</span>mySocketOnConnect<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">IOErrorEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">IO_ERROR</span><span style="color: #000066; font-weight: bold;">,</span>mySocketOnError<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">SecurityErrorEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">SECURITY_ERROR</span><span style="color: #000066; font-weight: bold;">,</span>mySocketOnSecurityError<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">ProgressEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">SOCKET_DATA</span><span style="color: #000066; font-weight: bold;">,</span>mySocketOnDataGet<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// 连接</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">connect</span><span style="color: #000000;">&#40;</span> TI_SKIPAddress<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">int</span><span style="color: #000000;">&#40;</span>TI_SKPort<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><span style="color: #0033ff; font-weight: bold;">catch</span><span style="color: #000000;">&#40;</span>ex<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Error</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><span style="color: #000000;">&#125;</span><br />
<span style="color: #000000;">&#125;</span><br />
<span style="color: #009900; font-style: italic;">//Socket连接成功</span><br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> mySocketOnConnect<span style="color: #000000;">&#40;</span> event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; Alert<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">show</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;Socket已经连接.&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span><br />
<span style="color: #009900; font-style: italic;">//Socket连接失败</span><br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> mySocketOnError<span style="color: #000000;">&#40;</span> event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; Alert<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">show</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;Socket连接失败.&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span><br />
<span style="color: #009900; font-style: italic;">//安全错误</span><br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> mySocketOnSecurityError<span style="color: #000000;">&#40;</span> event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Event</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; Alert<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">show</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;发生SecurityError.&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p>XMLSocket的代码类似<br />
<strong>2：关于安全沙箱问题</strong><br />
.swf文件和主机必须为同一域名<br />
网上发布的.swf不可以访问本地服务器<br />
本地未通过认证的.swf文件不可以访问任何网络资源<br />
想夸域访问或连接1024端口，必须使用一个跨域策略文件，如果尝试连接未认证的域或者低端口服务，这样就违反了安全沙箱策略，同时会激发securityError事件，你可以通过使用一个跨域策略文件来解决，必须在Socket连接之前通过使用flash.system.Security.loadPolicyFile()方法加载策略文件：<br />
如：</p>
<div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Security.loadPolicyFile(&quot;http://www.Test.com/crossdomain.xml&quot;);<br />
<span style="color: #00bbdd;">&lt;!DOCTYPE cross-domain-policy SYSTEM &quot;http://testWeb.com/xml/dtds/cross-domain-policy.dtd&quot;&gt;</span><br />
<span style="color: #009900;">&lt;cross-domain-policy&gt;</span><br />
<span style="color: #009900;">&lt;allow-access-from domain<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;*&quot;</span> to-ports<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;80,110&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>cross-domain-policy&gt;</span></div></td></tr></tbody></table></div>
<p>to-ports可以设置一个或多个端口，如果不设置，FlashPlaper默认是80端口。<br />
<strong>3：发送数据</strong><br />
<strong>1.flash.net.Socket类</strong><br />
首先使用write方法向缓存写入数据，然后使用flush()方法发送数据<br />
writeBoolean: 只接受一个布尔值作为参数<br />
writeByte、writeDouble、 writeFloat、 writeInt、writeUnsignedInt、writeShort :接受一个数字型参数)<br />
writeBytes：teArray参数，偏移量参数，长度参数<br />
writeObject：受一个object作为参数，但必须序列化为AMF格式<br />
writeUTF、writeUTFBytes： 字符串类型参数<br />
writeMultiByte：　串类型参数，并带有字符集参数，如ocket.writeMultiByte(“example”, “unicode”);<br />
flush() 将write方法写入缓存去的所有数据一并发送到服务器，并且清空缓存区。<br />
如：</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900; font-style: italic;">//Socket发送数据</span><br />
<span style="color: #0033ff; font-weight: bold;">protected</span> <span style="color: #339966; font-weight: bold;">function</span> BT_SKSendclick<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span>mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">connected</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">writeUTFBytes</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>TI_SKSend<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">flush</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>2.flash.net.XMLSocket类</strong><br />
调用send()方法发送数据，send()方法可以接受任何数据类型的参数.它可以将所有的参数都转换为一个字符串类型并发送到服务器.通常参数为一个XML对象或者一个包含数据结构类似XML数据的字符串: xmlSocket.send(xml);<br />
如：</p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900; font-style: italic;">//XML Socket发送</span><br />
<span style="color: #0033ff; font-weight: bold;">protected</span> <span style="color: #339966; font-weight: bold;">function</span> BT_XMLSKSendclick<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span><br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">if</span><span style="color: #000000;">&#40;</span>myXMLSocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">connected</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; myXMLSocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">send</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>TI_XMLSKSend<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span><span style="color: #000066; font-weight: bold;">+</span><span style="color: #990000;">&quot;<span style="">\n</span>&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><span style="color: #0033ff; font-weight: bold;">else</span><span style="color: #000000;">&#123;</span>Alert<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">show</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;XML Socket无法连接服务器.&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><span style="color: #000000;">&#125;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p>准确的格式完全依赖于服务器所能够接受的格式.如果服务器接受XML格式的数据,你必须发送XML格式的数据.如果服务器只接受URL编码的数据,你也必须发送URL编码的数据.<br />
<strong>4：读取数据</strong><br />
flash.net.Socket类</p>
<table border="1" width="100%">
<tbody>
<tr>
<td valign="middle">方法:返回值类型</td>
<td valign="middle">描述</td>
<td valign="middle">字节数</td>
</tr>
<tr>
<td valign="middle">readBoolean( ):Boolean</td>
<td valign="middle">从Socket读取一个Boolean值.</td>
<td valign="middle">1</td>
</tr>
<tr>
<td valign="middle">readByte( ):int</td>
<td valign="middle">从Socket读取一个byte值.</td>
<td valign="middle">1</td>
</tr>
<tr>
<td valign="middle">readDouble( ):Number</td>
<td valign="middle">从Socket读取一个IEEE 754双精度浮点数.</td>
<td valign="middle">8</td>
</tr>
<tr>
<td valign="middle">readFloat( ):Number</td>
<td valign="middle">从Socket读取一个IEEE 754单精度浮点数.</td>
<td valign="middle">4</td>
</tr>
<tr>
<td valign="middle">readInt( ):int</td>
<td valign="middle">从Socket读取一个有符号32-bit整数值.</td>
<td valign="middle">4</td>
</tr>
<tr>
<td valign="middle">readObject( ):*</td>
<td valign="middle">从Socket读取一个AMF-encoded对象.</td>
<td valign="middle">n</td>
</tr>
<tr>
<td valign="middle">readShort( ):int</td>
<td valign="middle">从Socket读取一个有符号16-bit整数值.</td>
<td valign="middle">2</td>
</tr>
<tr>
<td valign="middle">readUnsignedByte( ):uint</td>
<td valign="middle">从Socket读取一个无符号字节.</td>
<td valign="middle">1</td>
</tr>
<tr>
<td valign="middle">readUnsignedInt( ):uint</td>
<td valign="middle">从Socket读取一个无符号32-bit整数</td>
<td valign="middle">4</td>
</tr>
<tr>
<td valign="middle">readUnsignedShort( ):uint</td>
<td valign="middle">从Socket读取一个无符号16-bit整数.</td>
<td valign="middle">2</td>
</tr>
<tr>
<td valign="middle">readUTF( ):String</td>
<td valign="middle">从Socket读取一个一个UTF8字符串.</td>
<td valign="middle">n</td>
</tr>
</tbody>
</table>
<p><strong>readBytes方法：</strong><br />
一个flash.util.ByteArray实例读取从socket中收到的数据<br />
一个uint值,指定从什么位置开始读取socket中收到数据的偏移量.默认值为0<br />
一个uint值,用于指定读取bytes的数量.默认值为0,意思就是说将所有的可用的数据都放入ByteArray中<br />
readUTFBytes方法：只需要一个长度参数用于指定UTF-8字节的读入数量,并且该方法会将所有读入的字节码转换成为字符串类型</p>
<p>为ocketData事件添加一个事件监听器,任何时候只要有新的数据从一个socket服务器发送过来,都会触发事件控制器.在事件处理器的内部我们写入我们要执行的代码去读取和处理收到的数据</p>
<p>    在从一个Socket读数据之前,首先要判断bytesAvailable的属性.如果你不知道要读入的数据类型是什么就去读数据的话,将会产生一个错误(flash.errors.EOFError).</p>
<p>读取服务器中传送过来的数据，代码如下：</p>
<p><strong>1）首先注册事件</strong></p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">ProgressEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">SOCKET_DATA</span><span style="color: #000066; font-weight: bold;">,</span>mySocketOnDataGet<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div></td></tr></tbody></table></div>
<p><strong>2）事件处理</strong></p>
<div class="codecolorer-container actionscript3 mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900; font-style: italic;">//Socket获取数据</span><br />
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> mySocketOnDataGet<span style="color: #000000;">&#40;</span> event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">ProgressEvent</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>TA_SocketGet<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">appendText</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;<span style="">\r</span><span style="">\n</span>&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>TA_SocketGet<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">appendText</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;Socket received &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">bytesAvailable</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot; byte(s) of data:<span style="">\r</span><span style="">\n</span>&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">while</span><span style="color: #000000;">&#40;</span>mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">bytesAvailable</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #6699cc; font-weight: bold;">var</span> msg<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">readUTFBytes</span><span style="color: #000000;">&#40;</span>mySocket<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">bytesAvailable</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>TA_SocketGet<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">appendText</span><span style="color: #000000;">&#40;</span>msg<span style="color: #000066; font-weight: bold;">+</span><span style="color: #990000;">&quot;<span style="">\r</span><span style="">\n</span>&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>flash.net.XMLSocket类</strong><br />
使用XMLSocket从服务器返回的数据总是认为是一个字符串类型的数据.这样不用为任何数据类型的数据指定读取方法，这些从服务器返回的数据是没有经过任何处理的原始数据.因此,你不能通过XMLSocket连接立即使用XML,你发送和接收的都是纯字符串数据.如果你期望XML,在你处理数据之前,你必须首先将这些数据转换为一个XML的实例</p>
<p>    注意:在data事件分发数据之前,XMLSocket实例必须从服务器收到一个表示为空的byte(&#8216;\\0&#8242;).也就是说,从服务器仅仅只发送所需要的字符串是不够的,必须在结尾处加入一个表示为空的byte</p>
]]></content:encoded>
			<wfw:commentRss>http://www.5ga.cn/blog/archives/2011/06/2155/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

