<?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>{F-park}</title>
	<atom:link href="http://f-park.com.cn/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://f-park.com.cn/blog</link>
	<description>F-angel&#039;s Flash blog</description>
	<lastBuildDate>Tue, 31 Aug 2010 07:18:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在URLRequest中构造HTTP协议发送数据</title>
		<link>http://f-park.com.cn/blog/?p=125</link>
		<comments>http://f-park.com.cn/blog/?p=125#comments</comments>
		<pubDate>Tue, 31 Aug 2010 07:18:44 +0000</pubDate>
		<dc:creator>f-angel</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://f-park.com.cn/blog/?p=125</guid>
		<description><![CDATA[









来源博客：Tencent ISD Flash Team
有一点经验的AS开发者都知道，要发送数据用URLRequest，要POST数据用URLVarialbes。一切都非常好，直到碰到了发送图片+数据的时候···
因为图片BitmapData一般都Encode成了ByteArray，以流的形式传至后台，而变量是以值对的形式POST过去，这就造成了后台无法区分二进制和值对。
以前的做法是先把图片单独发过去，然后等服务器返回URL,再将URL与其他数据以值对的形式发送至后台。（比较Stupid，但是Work！！）
其实抓包分析之后，发现Flash其实也是以标准的HTTP协议发送数据的，我们完全可以构造URLRequest的内容来构造一个标准的HTTP协议。
首先分析一个简单的HTTP协议例子（截取自FileReference的例子）：
POST /handler.cfm HTTP/1.1
Accept: text/*
Content-Type: multipart/form-data;
boundary=———-Ij5ae0ae0KM7GI3KM7
User-Agent: Shockwave Flash
Host: www.example.com
Content-Length: 421
Connection: Keep-Alive
Cache-Control: no-cache
————Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name=”Filename”
MyFile.jpg
————Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name=”Filedata”; filename=”MyFile.jpg”
Content-Type: application/octet-stream
FileDataHere
————Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name=”Upload”
Submit Query
————Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7–
其中：
POST /handler.cfm HTTP/1.1
Accept: text/*
Content-Type: multipart/form-data;
boundary=———-Ij5ae0ae0KM7GI3KM7
User-Agent: Shockwave Flash
Host: www.example.com
Content-Length: 421
Connection: Keep-Alive
Cache-Control: no-cache
这一串是HTTP头，一般我们不用管太多，URLRequest会自动构造，但是有几个参数要留意一下：
Content-Type: multipart/form-data;
boundary=———-Ij5ae0ae0KM7GI3KM7 
第一个是类似页面表单的数据类型。而boundary则定义了分界符的字符（这个可以自己定义）。
所以我们在AS3代码中应该写如下语句：
this.request.contentType = “multipart/form-data; boundary=—————————Ij5ae0ae0KM7GI3KM7” ;
就是要构造在HTTP协议中添加了这两段内容。
接下来是内容部分:
————Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
Content-Disposition: form-data; name=”Filename”
MyFile.jpg
————Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7
上下两段是分割符（细心的同学可能已经发现其实就是我们刚刚定义的boundary的值）。一般都是这样括住我们需要的数据（结尾除外） 
Content-Disposition: form-data;
说明的是数据的类型，这个可以上网去查看，一般比较常用的有例如image/jpeg,image/x-png,当然还有非常多的其他值。
name=”Filename”
这个就是POST的变量的变量名。
MyFile.jpg
这个就是变量的值。
所以上面的全句的意思可以理解为Filename = MyFile.jpg;
在AS3里我们可以这样写：
_byteArray.writeUTFBytes(“\r\n—————————–” + separator + “\r\n”);
_byteArray.writeUTFBytes(“Content-Disposition: form-data; name=\”&#8221; + $name +”\”\r\n\r\n” + [...]]]></description>
		<wfw:commentRss>http://f-park.com.cn/blog/?feed=rss2&amp;p=125</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>js控制flash之参数</title>
		<link>http://f-park.com.cn/blog/?p=123</link>
		<comments>http://f-park.com.cn/blog/?p=123#comments</comments>
		<pubDate>Fri, 02 Jul 2010 03:02:38 +0000</pubDate>
		<dc:creator>f-angel</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[未分类]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://f-park.com.cn/blog/?p=123</guid>
		<description><![CDATA[CODE:
Play()  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 播放动画
StopPlay()&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;停止动画
IsPlaying()&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 动画是否正在播放
GotoFrame(frame_number)&#8212;&#8212;&#8212;&#8212;&#8212;- 跳转到某帧
TotalFrames()&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 获取动画总帧数
CurrentFrame()&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;回传当前动画所在帧数-1
Rewind()&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-使动画返回第一帧
SetZoomRect(left,top,right,buttom)&#8212;&#8212;-放大指定区域
Zoom(percent)&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;改变动画大小
Pan(x_position,y_position,unit)&#8212;&#8212;&#8212;&#8212;使动画在x,y方向 上平移
PercentLoaded()&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-返回动画被载入的百分比
LoadMovie(level_number,path)&#8212;&#8212;&#8212;&#8211; 加载动画
TGotoFrame(movie_clip,frame_number)- movie_clip跳转到指定帧数
TGotoLabel(movie_clip,label_name)&#8212;&#8212; movie_clip跳转到指定标签
TCurrentFrame(movie_clip)&#8212;&#8212;&#8212;&#8212;&#8212; 回传movie_clip当 前帧-1
TCurrentLabel(movie_clip)&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;回传movie_clip当 前标签
TPlay(movie_clip)&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;播放movie_clip
TStopPlay(movie_clip)&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-停止movie_clip的 播放
GetVariable(variable_name)&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;获取变量
SetVariable(variable_name,value)&#8212;&#8212;&#8212;&#8211;变量赋值
TCallFrame(movie_clip,frame_number)&#8212;call指定帧上的action
TCallLabel(movie_clip,label)&#8212;&#8212;&#8212;&#8212;&#8212;-call指定标签上的action
TGetProperty(movie_clip,property)&#8212;&#8212;&#8211;获取movie_clip的 指定属性
TSetProperty(movie_clip,property,number)-设置movie_clip的 指定属性
其中TGetProperty　和　TSetProperty　的属性是使用数字0-18来 获取的，下面是各数字代表的属性：
属性 作用 数字 使用方式
X Position X坐标 0 Get,Set
Y Position Y坐标 1 Get,Set
X Scale X方向缩放比率 2 Get,Set
Y Scale Y方向缩放比率 3 Get,Set
CurrentFrame movie_clip当前所在帧数 4 Get
TotalFrames movie_clip总帧数 5 Get
Alpha movie_clip的透明度 6 Get,Set
Visibility movie_clip是否可见 7 Get,Set
Width movie_clip的宽度 8 Get
Height movie_clip的高度 9 Get
Rotation [...]]]></description>
		<wfw:commentRss>http://f-park.com.cn/blog/?feed=rss2&amp;p=123</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>转一些as类库</title>
		<link>http://f-park.com.cn/blog/?p=120</link>
		<comments>http://f-park.com.cn/blog/?p=120#comments</comments>
		<pubDate>Sat, 22 May 2010 14:13:58 +0000</pubDate>
		<dc:creator>f-angel</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://f-park.com.cn/blog/?p=120</guid>
		<description><![CDATA[
1、 as3ebaylib http://code.google.com/p/as3ebaylib/
2、 as3youtubelib http://code.google.com/p/as3youtubelib/
3、 as3flickrlib http://code.google.com/p/as3flickrlib/
4、Yahoo  ASTRA Flash Components http://developer.yahoo.com/flash/astra-flash/
5、 facebook-as3 http://code.google.com/p/facebook-as3/
6、 as3awss3lib http://code.google.com/p/as3awss3lib/
7、Adobe  ActionScript 3:resources:apis:libraries  （官方，包括corelib、FlexUnit、Flickr、Mappr、RSS and Atom libraries、Odeo、YouTube）  http://labs.adobe.com/wiki/index.php/ActionScript_3:resources:apis:libraries
8、 Tweener 用于过渡与切换的一组动画库 http://code.google.com/p/tweener/
9、 uicomponents-as3 一组轻量级的AS3 UI组件库 http://code.google.com/p/uicomponents-as3/
10、 as3ds AS3的数据结构实现 http://code.google.com/p/as3ds/
11、mecheye-as3- libraries 一组主要用于Flash 游戏开发的AS3库 http://code.google.com/p/mecheye-as3-libraries/
12、 XIFF 一套XMPP协议的AS3实现 http://svn.igniterealtime.org/svn/repos/xiff/branches/xiff_as3_flexlib_beta1/
13、 FZip 一套AS3库，可用作对ZIP压缩文件的载入、修改与创建 http://codeazur.com.br/lab/fzip/
14、 FlexLib 一套开源的Flex界面组件库 http://code.google.com/p/flexlib/
15、 AnimatedGIfLoader Flex Component 可载入GIF的Flex组件 http://dougmccune.com/blog/animatedgifloader-flex-component/
16、 goplayground [...]]]></description>
		<wfw:commentRss>http://f-park.com.cn/blog/?feed=rss2&amp;p=120</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>页面嵌入wmode=transparent的Flash没有事件的问题</title>
		<link>http://f-park.com.cn/blog/?p=116</link>
		<comments>http://f-park.com.cn/blog/?p=116#comments</comments>
		<pubDate>Wed, 19 May 2010 11:37:39 +0000</pubDate>
		<dc:creator>f-angel</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://f-park.com.cn/blog/?p=116</guid>
		<description><![CDATA[做的一个小项目中，莫名其妙的出现了这样一个问题:
当在页面中加载一段包含wmode=transparent的swf时，Flash内部的键盘事件竟然全部无法监听。最后才发现是 “wmode=transparent“ 这段代码惹的祸，郁闷啊~~~~将其删除就一切正常了。在网上搜了下关于wmode的解释：
wmode 属性/参数值 Window &#124; Opaque &#124; Transparent模板变量WM
说明（可选）允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。
“Window“在 Web 页上用影片自己的矩形窗口来播放应用程序。“Window“表明此 Flash 应用程序与 HTML 层没有任何交互，并且始终位于最顶层。
“Opaque“ 使应用程序隐藏页面上位于它后面的所有内容。
“Transparent“使 HTML 页的背景可以透过应用程序的所有透明部分显示出来，并且可能会降低动画性能。
“Opaque windowless“和“Transparent windowless“都可与 HTML 层交互，从而允许 SWF 文件上方的层遮蔽应用程序。这两种选项之间的差异在于“Transparent“允许透明，因此，如果 SWF 文件的某一部分是透明的，则 SWF 文件下方的 HTML 层可以透过该部分显示出来，而“opaque“则不会显示。
如果忽略此属性，默认值为 Window。仅适用于 object。
虽然自己还没怎么看明白，但问题就出在这，这里记录下，希望给以后遇到此类问题的朋友一点帮助。
]]></description>
		<wfw:commentRss>http://f-park.com.cn/blog/?feed=rss2&amp;p=116</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash读取XML文 件出现的中文乱码问题</title>
		<link>http://f-park.com.cn/blog/?p=113</link>
		<comments>http://f-park.com.cn/blog/?p=113#comments</comments>
		<pubDate>Wed, 07 Apr 2010 09:02:59 +0000</pubDate>
		<dc:creator>f-angel</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://f-park.com.cn/blog/?p=113</guid>
		<description><![CDATA[
原因：中文乱码，不用说都是编码惹的祸。Flash是使用UTF-8编码的。而一般我们保存文本文件时（也就是XML文件），用的编码是GB2321、 ANSI或者Unicode。
有2种办法可以解决：
1、XML文件用的编码，就是这一句“&#60;?xml version=&#8221;1.0&#8243;  encoding=&#8221;UTF-8&#8243;?&#62;”注意后面的是“encoding=&#8221;UTF-8&#8243;”。特别注意保存文件时，文件编码选择使用&#8221;UTF- 8&#8243;，，这样解析时就不会有乱码问题了。使用&#8221;Unicode&#8221;编码也可以，但这样文件量会相对比较大。
 2、在Flash脚本代码前面加上 System.useCodepage = true;  语句，但据说这是下下策的做法，不建议采用。
]]></description>
		<wfw:commentRss>http://f-park.com.cn/blog/?feed=rss2&amp;p=113</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
