<?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>dansion's 日志 &#187; actionscript3</title>
	<atom:link href="http://www.dansion.com/blog/tag/actionscript3/feed" rel="self" type="application/rss+xml" />
	<link>http://www.dansion.com/blog</link>
	<description>学无止境～～～～～～～</description>
	<lastBuildDate>Sat, 06 Feb 2010 09:08:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>用Flash AS3正则表达式实现百度的MP3搜索</title>
		<link>http://www.dansion.com/blog/works/flash-regular-expression-baidu-mp3.html</link>
		<comments>http://www.dansion.com/blog/works/flash-regular-expression-baidu-mp3.html#comments</comments>
		<pubDate>Sun, 02 Mar 2008 15:28:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[作品]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Flash ActionScript]]></category>
		<category><![CDATA[mp3]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/archives/35</guid>
		<description><![CDATA[利用flash的URLRequest向百度发送关健字,再利用正则表达式提取mp3结果列表.再对结果列表再次请求,获取mp3的真实地址.下面是具体的类
package&#160;{&#160;&#160;&#160;&#160;import&#160;flash.display.Sprite;&#160;&#160;&#160;&#160;import&#160;flash.display.MovieClip;&#160;&#160;&#160;&#160;import&#160;flash.events.Event;&#160;&#160;&#160;&#160;import&#160;flash.events.MouseEvent;&#160;&#160;&#160;&#160;import&#160;flash.events.ProgressEvent;&#160;&#160;&#160;&#160;import&#160;flash.net.URLVariables;&#160;&#160;&#160;&#160;import&#160;flash.net.URLLoader;&#160;&#160;&#160;&#160;import&#160;flash.net.URLRequest;&#160;&#160;&#160;&#160;import&#160;flash.text.TextField;&#160;&#160;&#160;&#160;import&#160;flash.text.TextFieldAutoSize;&#160;&#160;&#160;&#160;import&#160;flash.xml.*;&#160;&#160;&#160;&#160;import&#160;flash.events.IOErrorEvent;&#160;&#160;&#160;&#160;public&#160;class&#160;Mp3Search&#160;extends&#160;MovieClip&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;var&#160;xmlTextField:TextField&#160;=&#160;new&#160;TextField();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//dansion.com&#160;dansion@163.com,;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;var&#160;loader:URLLoader;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;var&#160;sub:Number;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public&#160;var&#160;Mp3List:Array;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public&#160;function&#160;Mp3Search()&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mp3List=new&#160;Array();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mp3_search.trackAsMenu=true;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mp3_search.addEventListener(MouseEvent.CLICK,search);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;search(event:Event):void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;variables:URLVariables=new&#160;URLVariables(&#34;f=ms&#038;tn=baidump3&#038;ct=134217728&#038;lf=&#038;rn=&#038;lm=0&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;variables.word=input.text;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;request:URLRequest&#160;=&#160;new&#160;URLRequest();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;request.url=&#34;http&#58;//mp3.baidu.com/m&#34;;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;request.data=variables;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader&#160;=&#160;new&#160;URLLoader();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;try&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader.load(request);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;catch&#160;(error:SecurityError)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;A&#160;SecurityError&#160;has&#160;occurred.&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader.addEventListener(IOErrorEvent.IO_ERROR,&#160;errorHandler);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader.addEventListener(Event.COMPLETE,&#160;loaderCompleteHandler);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader.addEventListener(ProgressEvent.PROGRESS,loaderProgress);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;btn&#160;is&#160;donw:&#160;&#34;+input.text);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;loaderCompleteHandler(event:Event):void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;progress_txt.text=&#34;加载完成&#34;;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//var&#160;mp3Exp:RegExp=/http://([w-]+.)+[w-]+([w-&#160;./?$,[]%&#038;;:,+=u4e00-u9fa5]*)?216/g;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//var&#160;mp3Exp:RegExp=/http://[^box][0-9]([w-]+.)+[w-]+([w-&#160;./?$,[]%&#038;;:,+=u4e00-u9fa5]*)?216/g;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;mp3Exp:RegExp=/http://220.181.38.82([w-&#160;./?$,[]%&#038;;:,+=u4e00-u9fa5]*)?216/g;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;mp3_array:Array=new&#160;Array();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mp3_array=loader.data.match(mp3Exp);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(loader.data.match(mp3Exp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;/*for&#160;(var&#160;i=0;&#160;i&#60;mp3_array.length;&#160;i++)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(&#34;输出:&#160;&#160;&#34;+mp3_array[i]+&#34;&#160;&#160;&#160;结束&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;chineseExp:RegExp=/[u4e00-u9fa5]+/;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(mp3_array[i].match(chineseExp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mp3Name.push(mp3_array[i].match(chineseExp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}*/&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;formatURL(mp3_array);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;formatURL(array:Array)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for&#160;(var&#160;i=0;&#160;i&#60;array.length;&#160;i++)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;SubLoad(array[i],i);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//sub=i;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;SubLoad(url:String,num:Number)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;chineseExp:RegExp=/[u4e00-u9fa5]+/;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(mp3_array[i].match(chineseExp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(url);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//var&#160;mp3name:String=new&#160;String();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;mp3name:String=String(url.match(chineseExp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;subrequest:URLRequest&#160;=&#160;new&#160;URLRequest();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;subrequest.url=url;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
60;&#160;var&#160;sub_loader:URLLoader;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sub_loader&#160;=&#160;new&#160;URLLoader();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;try&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sub_loader.load(subrequest);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;catch&#160;(error:SecurityError)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;A&#160;SecurityError&#160;has&#160;occurred.&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sub_loader.addEventListener(Event.COMPLETE,SubLoaderComplete);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//sub_loader.addEventListener(ProgressEvent.PROGRESS,loaderProgress);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;function&#160;SubLoaderComplete()&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;progress_txt.text=&#34;开始分析第&#34;+mp3name+&#34;搜索结果&#34;;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;SubMp3Exp:RegExp=/http://([w-]+.)+[w-]+([w-&#160;./?%&#038;=u4e00-u9fa5]*)?.mp3/g;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(mp3name+&#34;&#160;::&#160;&#34;+sub_loader.data.match(SubMp3Exp)[0]);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;loaderProgress(event:ProgressEvent):void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;progress_txt.text=String(event.bytesLoaded)+&#34;/&#34;+String(event.bytesTotal);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;errorHandler(event:IOErrorEvent):void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;IOErrorEvent&#160;出错&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;}}
其中主要是两个正则表达式写法.新建一个MC链接Mp3Search类,MC里有一个文本输入框(名:input),一个表示按扭的MC(Mp3_search),加载提示动态文本框(progress_txt).转载请注明出处!点这里下载
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/works/flash-regular-expression-baidu-mp3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FLash中escape()出问题</title>
		<link>http://www.dansion.com/blog/actionscript/flashescape.html</link>
		<comments>http://www.dansion.com/blog/actionscript/flashescape.html#comments</comments>
		<pubDate>Tue, 08 Jan 2008 11:01:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash ActionScript]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/archives/29</guid>
		<description><![CDATA[利用escape&#160;()&#160;转化中文的URL地址，但转成的结果并非是正确的结果。查来查去，最后发现是AS3.0的escape()和AS2.0的escape()有着不同的功能。AS3.0用escapeMultiByte&#160;()的功用才和AS2.0一样。
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/actionscript/flashescape.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash中ExternalInterface.call返回null值</title>
		<link>http://www.dansion.com/blog/actionscript/flash-externalinterface.html</link>
		<comments>http://www.dansion.com/blog/actionscript/flash-externalinterface.html#comments</comments>
		<pubDate>Sun, 30 Dec 2007 17:41:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash ActionScript]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/archives/28</guid>
		<description><![CDATA[利用ExternalInterface.call调用html里的js函数,参照了flash帮助文档里的做法.可以执行js的函数.但就是无法获取return的值.网上一大堆教程也只是抄flash帮助文档的东西.也试了allowScriptAccess=always.结果无效,最后让我去搜了N个flash网站,答案居然是只要给&#60;object&#62;加上一个id或是name就解决了.哎&#8230;&#8230;.无语了注(IE7.0)
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/actionscript/flash-externalinterface.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FLash子类继承父类的带参数的构造函数</title>
		<link>http://www.dansion.com/blog/actionscript/flash-subclass-extends.html</link>
		<comments>http://www.dansion.com/blog/actionscript/flash-subclass-extends.html#comments</comments>
		<pubDate>Sun, 13 May 2007 17:20:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash ActionScript]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/archives/15</guid>
		<description><![CDATA[想给FLASH的Date类增加一些农历的数据.当然是继承Date再增加一些方法啦.但在做的过程发现在以前从没有碰到过的问题.农历的数据是从公历数据换算过来的.而Date类在实例过程中有好几中方式.怎么样继承父类的构造函数,在flash帮助文档中&#34;重写方法和属性&#34;中得到结果结论:Widget.as类文件
class&#160;Widget&#160;{&#160;&#160;&#160;&#160;public&#160;static&#160;var&#160;widgetCount:Number&#160;=&#160;0;&#160;&#160;&#160;&#160;public&#160;function&#160;Widget()&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Widget.widgetCount++;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;public&#160;function&#160;doSomething():Void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;Widget::doSomething()&#34;);&#160;&#160;&#160;&#160;}}
SubWidget.as类文件
class&#160;SubWidget&#160;extends&#160;Widget&#160;{&#160;&#160;&#160;&#160;public&#160;function&#160;SubWidget()&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;Creating&#160;subwidget&#160;#&#160;&#34;&#160;+&#160;Widget.widgetCount);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;doSomething();&#160;&#160;&#160;&#160;}}
在新建的flash文档中
var&#160;sw1:SubWidget&#160;=&#160;new&#160;SubWidget();var&#160;sw2:SubWidget&#160;=&#160;new&#160;SubWidget();
输出结果:
Creating&#160;subwidget&#160;#&#160;1Widget::doSomething()Creating&#160;subwidget&#160;#&#160;2Widget::doSomething()
结论是子类继承父类,也继承了父类的构造函数.但是Date类构建函数是带参数,而且还是有多种方式.最后,终于在flash帮助文档中找到了super条目.以前一直没有注意.以前做的东西也很少有这样父类,子类,爷类的.super用法:
super.method([arg1,&#160;...,&#160;argN])super([arg1,&#160;...,&#160;argN])
第一种语法格式可以在对象方法体内使用，用于调用方法的超类版本，而且可以选择向超类方法传递参数&#160;(arg1&#160;&#8230;&#160;argN)。这对于创建某些子类方法很有用，这些子类方法在向超类方法添加附加行为的同时，又调用这些超类方法执行其原始行为。第二种语法格式可以用于构造函数体内，用以调用此构造函数的超类版本，而且可以选择向它传递参数。这对于创建子类很有用，该子类在执行附加的初始化的同时，又调用超类构造函数执行超类初始化。我的农历date类&#160;LunarCalendar.as,其实的参数完全和date类的参数一样.
class&#160;LunarCalendar&#160;extends&#160;Date&#160;{&#160;public&#160;function&#160;LunarCalendar(yearOrTimevalue:Number,&#160;month:Number,&#160;date:Number,&#160;hour:Number,&#160;minute:Number,&#160;second:Number,&#160;millisecond:Number)&#160;{&#160;&#160;super(yearOrTimevalue,&#160;month,&#160;date,&#160;hour,&#160;minute,&#160;second,&#160;millisecond);&#160;}}
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/actionscript/flash-subclass-extends.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
