<?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>破民</title>
	<atom:link href="http://www.po-min.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.po-min.com/blog</link>
	<description>破民的网络世界</description>
	<lastBuildDate>Thu, 16 Sep 2010 12:39:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>第5届 FLASH开发者交流会 暨FLASH CAMP 2010</title>
		<link>http://www.po-min.com/blog/archives/48</link>
		<comments>http://www.po-min.com/blog/archives/48#comments</comments>
		<pubDate>Thu, 02 Sep 2010 15:43:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[絮叨]]></category>
		<category><![CDATA[FLASH开发者交流会]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=47</guid>
		<description><![CDATA[主讲者和专题介绍

Adobe 平台技术
主讲人：Gary Zhu -   Adobe 平台技术总监
Gary 多年工作于 Adobe 公司工作，从事软件产品和平台技术的发展与推广工作。此次Gary远道而来，将为我们介绍 Adobe 平台技术的发展和Flash移动应用软件的开发。

程序接口的另类理解与使用
主讲人：孙毅
曾就职五分钟，任Flash部门主管，并开发《绿豆蛙—漂流岛社区》等项目；现就职八方视界，任Flash部门高级主管，并负责其产品《唯智学园》Flash部分主程，以及Flash性能等各方面研究。
孙毅的博客：<a href="http://www.xiaos8.com">http://www.xiaos8.com</a>

Flash Media Server 开发经验谈
主讲人：沈先彬
从事FLASH 游戏与AIR应用开发，参与开发项目有 梦境世界 三十六计等，目前在开发WEBGAME。
沈先彬的博客：<a href="http://blog.sina.com.cn/shenxianbin">http://blog.sina.com.cn/shenxianbin</a>

Flash RIA的可用性
主讲人：刘轩飞
晒台网首席产品管，10年前端设计和开发经验，信仰互联网，以提供最佳互联网用户体验为己任
刘轩飞的博客：<a href="http://www.xuanfei.me">http://www.xuanfei.me</a>

麻球大赛优秀作品介绍
主讲人：廖湘宁
廖湘宁多年来从事视频互动创意与游戏开发，目前在麻球网担任开发者社区经理，负责麻球网(Mochi Media)平台的本土化研发与推广工作。
廖湘宁的博客: <a href="http://www.xncat.com">http://www.xncat.com</a>

麻球参赛游戏蛛蛛冒险的开发与设计经验分享
主讲人：徐黎明
曾任TCL教育互联 研发主管，广州市远程教育中心 开发主管。涉足麻球平台之后，钟情于游戏开发，创办Tinime 工作室。

麻球参赛游戏DNF，梦幻塔防，吖凡哒哒技术与美工经验分享
主讲人：商文烨
中国第三代闪客，个人作品获得过无数奖项并在中央电视台播出，06年担任搜狐17173频道主管并连续4年获得搜狐最佳称号，2009年成立传奇网科，旗下传动力工作室便是当今最脍炙人口的休闲小游戏开发团队！
商文烨的博客: <a href="http://t.qq.com/shangwenye">http://t.qq.com/shangwenye</a>]]></description>
			<content:encoded><![CDATA[<p>活动在线报名地址：<a href="http://www.wedoswf.com/events/1">http://www.wedoswf.com/events/1</a></p>
<p>议程安排</p>
<p>2010年9月18日 星期六</p>
<p>12:30 ~ 13:00 参会人员签到，入场<br />
13:15 ~ 15:00 主题讨论<br />
15:00 ~ 15:15 茶歇和聊天<br />
15:15 ~ 17:30 主题讨论<br />
18:00 技术交流和讨论</p>
<p>会议地点</p>
<p>畅星大厦•上海<br />
地址：上海浦东新区碧波路888号畅星大厦3楼会议厅<br />
电话：021-38984558</p>
<p>主讲者和专题介绍</p>
<p>Adobe 平台技术<br />
主讲人：Gary Zhu &#8211;   Adobe 平台技术总监<br />
Gary 多年工作于 Adobe 公司工作，从事软件产品和平台技术的发展与推广工作。此次Gary远道而来，将为我们介绍 Adobe 平台技术的发展和Flash移动应用软件的开发。</p>
<p>程序接口的另类理解与使用<br />
主讲人：孙毅<br />
曾就职五分钟，任Flash部门主管，并开发《绿豆蛙—漂流岛社区》等项目；现就职八方视界，任Flash部门高级主管，并负责其产品《唯智学园》Flash部分主程，以及Flash性能等各方面研究。<br />
孙毅的博客：<a href="http://www.xiaos8.com">http://www.xiaos8.com</a></p>
<p>Flash Media Server 开发经验谈<br />
主讲人：沈先彬<br />
从事FLASH 游戏与AIR应用开发，参与开发项目有 梦境世界 三十六计等，目前在开发WEBGAME。<br />
沈先彬的博客：<a href="http://blog.sina.com.cn/shenxianbin">http://blog.sina.com.cn/shenxianbin</a></p>
<p>Flash RIA的可用性<br />
主讲人：刘轩飞<br />
晒台网首席产品管，10年前端设计和开发经验，信仰互联网，以提供最佳互联网用户体验为己任<br />
刘轩飞的博客：<a href="http://www.xuanfei.me">http://www.xuanfei.me</a></p>
<p>麻球大赛优秀作品介绍<br />
主讲人：廖湘宁<br />
廖湘宁多年来从事视频互动创意与游戏开发，目前在麻球网担任开发者社区经理，负责麻球网(Mochi Media)平台的本土化研发与推广工作。<br />
廖湘宁的博客: <a href="http://www.xncat.com">http://www.xncat.com</a></p>
<p>麻球参赛游戏蛛蛛冒险的开发与设计经验分享<br />
主讲人：徐黎明<br />
曾任TCL教育互联 研发主管，广州市远程教育中心 开发主管。涉足麻球平台之后，钟情于游戏开发，创办Tinime 工作室。</p>
<p>麻球参赛游戏DNF，梦幻塔防，吖凡哒哒技术与美工经验分享<br />
主讲人：商文烨<br />
中国第三代闪客，个人作品获得过无数奖项并在中央电视台播出，06年担任搜狐17173频道主管并连续4年获得搜狐最佳称号，2009年成立传奇网科，旗下传动力工作室便是当今最脍炙人口的休闲小游戏开发团队！<br />
商文烨的博客: <a href="http://t.qq.com/shangwenye">http://t.qq.com/shangwenye</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/48/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>忽略PNG图片透明区域鼠标事件</title>
		<link>http://www.po-min.com/blog/archives/40</link>
		<comments>http://www.po-min.com/blog/archives/40#comments</comments>
		<pubDate>Tue, 02 Feb 2010 16:26:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[鼠标事件]]></category>
		<category><![CDATA[PNG]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=40</guid>
		<description><![CDATA[忽略PNG图片透明区域鼠标事件]]></description>
			<content:encoded><![CDATA[<p>当加载外部图片的时候，希望鼠标只响应不透明区域的事件，可以试试下面的方法。<br />
<span id="more-40"></span></p>
<pre lang="actionscript3" line="1" colla="+">
package {
	import flash.display.BitmapData;
	import flash.display.DisplayObject;
	import flash.display.LoaderInfo;
	import flash.net.URLRequest;
	import flash.events.Event;
	import flash.display.Loader;
	import flash.display.Sprite;

	/**
	 * @author Hank
	 * @blog http://www.po-min.com
	 * 2010-2-2
	 */

	[SWF(width="1000", height="600", backgroundColor="#FFFFFF", frameRate="40")]

	public class PNGMouse extends Sprite
	{
		private var PNGLINK : String = "0.png";

		public function PNGMouse()
		{
			loadPNG();
		}

		private function loadPNG() : void
		{
			var loader : Loader = new Loader;
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onPNGLoaderInit);
			loader.load(new URLRequest(PNGLINK));
		}

		private function onPNGLoaderInit(e : Event) : void
		{
			var image : DisplayObject = LoaderInfo(e.currentTarget).content as DisplayObject;
			setButton(image);
		}

		private function setButton(image : DisplayObject) : void
		{
			var container : Sprite = new Sprite();
			container.buttonMode = true;
			addChild(container);
			container.addChild(image);

			var bmd : BitmapData = new BitmapData(image.width, image.height, true, 0x00000000);
			bmd.draw(image);

			//设置遮罩，遮罩后会忽略遮罩以外的鼠标事件
			var maskSp : Sprite = new Sprite();
			maskSp.graphics.beginFill(0x0000FF, .2);
			container.addChild(maskSp);

			//设置点击区域，方便测试
			var hitSp : Sprite = new Sprite();
			hitSp.graphics.beginFill(0x0000FF, .2);
			container.addChild(hitSp);

			//取有效像素位置
			/*-----------------------------------------------------
			 * 缺点：
			 *  一、如果图片大的话效率会比较低。
			 *  优化方式:
			 *  1、调整历遍的密度，从1px改成2px或4px，用精确度换取效率
			 *  2、如果很多图片同时进行的话，可以使用队列方式进行
			 *
			 *  二、半透明处边界判断问题（目前的判断方式只是排除完全透明处的橡树）
			 *
			 *----------------------------------------------------*/
			for(var i : uint = 0;i < bmd.width; i++) {
				for(var j : uint = 0;j < bmd.height; j++) {
					if(bmd.getPixel32(i, j)) {
						maskSp.graphics.drawRect(i, j, 1, 1);
						hitSp.graphics.drawRect(i, j, 1, 1);
					}
				}
			}

			image.mask = maskSp;
		}
	}
}
</pre>
<p>希望对大家有用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/40/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>《Flash ActionScript 3.0 动画高级教程》</title>
		<link>http://www.po-min.com/blog/archives/35</link>
		<comments>http://www.po-min.com/blog/archives/35#comments</comments>
		<pubDate>Fri, 29 Jan 2010 15:54:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[絮叨]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=35</guid>
		<description><![CDATA[参加了蓝色理想的活动&#8212;《Flash ActionScript 3.0 动画高级教程》试读，写心得即送经典图书！今天拿到书了！ 感谢图灵图书，特别是图灵的编辑罗婧，书上还附了罗婧美女的签名:)，感谢蓝色理想，书不错，非常值得入手（听说这本书卖得很好哦）！ 开始努力啃书&#8230;&#8230;]]></description>
			<content:encoded><![CDATA[<p>参加了蓝色理想的活动&#8212;《Flash ActionScript 3.0 动画高级教程》试读，写心得即送经典图书！今天拿到书了！<br />
<span id="more-35"></span><br />
<a href="http://www.po-min.com/blog/wp-content/uploads/2010/01/200912181123373167.jpg"><img src="http://www.po-min.com/blog/wp-content/uploads/2010/01/200912181123373167.jpg" alt="封面" title="封面" width="200" height="251" class="alignnone size-full wp-image-36" /></a><br />
感谢图灵图书，特别是图灵的编辑罗婧，书上还附了罗婧美女的签名:)，感谢蓝色理想，书不错，非常值得入手（听说这本书卖得很好哦）！</p>
<p>开始努力啃书&#8230;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/35/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>中国flash开发者交流会(上海)</title>
		<link>http://www.po-min.com/blog/archives/33</link>
		<comments>http://www.po-min.com/blog/archives/33#comments</comments>
		<pubDate>Sun, 24 Jan 2010 17:10:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[絮叨]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=33</guid>
		<description><![CDATA[中国flash开发者交流会]]></description>
			<content:encoded><![CDATA[<p>交流会归来总结一下。</p>
<p>在盛大的赞助下，这次交流会(<a title="中国flash开发者交流会" href="http://www.swfsh.com/" target="_blank">点击查看活动网站</a>)气氛很热烈，整个会堂坐得满满的（很多MM哦，不知道有几个是属于家属性质的 <img src='http://www.po-min.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ），参加过几次类似的聚会，感觉气氛的都很好，flash开发社区是越来越红火了，大家加油！<br />
<span id="more-33"></span><br />
这次的收获有下面几点：</p>
<p>1、了解了<a title="盛大18基金" href="http://www.18capital.com/" target="_blank">盛大18基金计划</a>,看到了盛大在flash webgame 的探索，几个成品的展示，感叹盛大实力确实强劲。Yi，阿忠大人，被储备的丁烈，Y.Boy之类的牛人组成的团队，哈哈。</p>
<p>2、<a title="7月博客" href="http://www.7yue.com" target="_blank">7月</a>一如既往的给大家带来最新最激动人心的消息，flash 平台的产品定位，flash player 10.1 支持 p2p，今年4月份将在北京有一个规模类似于MAX大会的宣讲会，值得期待啊！不过7月提到了让我感想颇多的几点现状：一、好的体验，才能让产品受众有消费的冲动，在我们现在正在开发的产品或者正在进行的项目中，我们在体验上做到了多少？二、adobe对flash player在手机上的性能进行测试的过程中，发现同样的视频，在youtube下可以正常的播放，但是遗憾的是，国内的视频网站都出现了问题，我们的代码规范，我们和世界的差距究竟有多大呢？</p>
<p>3、大家最感兴趣的还是内存管理和垃圾回收的问题，呵呵，看来大家都经常被这些问题折磨。</p>
<p>4、还有一些关于动作捕捉、flex开发、安全机制等演讲，可惜我不是很在行，没办法做详细的评价了。</p>
<p>最后，Yi说，这样的交流会，以后打算两个月会举办一次，呵呵，这次有事没去成的同学们，下次注意哦！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/33/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>开启并使用FlashPlayer10的GPU加速</title>
		<link>http://www.po-min.com/blog/archives/30</link>
		<comments>http://www.po-min.com/blog/archives/30#comments</comments>
		<pubDate>Fri, 15 Jan 2010 18:21:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[絮叨]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[GPU]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=30</guid>
		<description><![CDATA[开启：在html里嵌入swf文件的地方加上 wmode=&#8221;gpu&#8221; ； 使用： 从adobe对flashplayer10的新功能宣传的话从可以看出来只有位图和视频才能利用GPU加速，对于动画而已，只有位图动画能利用GPU加速，其它动画一律不行。 又新增了一个wmode 属性，具体效果，各位看官使用过后，自己体验一下吧。]]></description>
			<content:encoded><![CDATA[<p>开启：在html里嵌入swf文件的地方加上 wmode=&#8221;gpu&#8221; ；</p>
<p>使用：</p>
<p><a href="http://www.po-min.com/blog/wp-content/uploads/2010/01/help.jpg"><img class="alignnone size-medium wp-image-29" title="使用说明" src="http://www.po-min.com/blog/wp-content/uploads/2010/01/help-300x60.jpg" alt="使用说明" width="300" height="60" /></a></p>
<p>从adobe对flashplayer10的新功能宣传的话从可以看出来只有位图和视频才能利用GPU加速，对于动画而已，只有位图动画能利用GPU加速，其它动画一律不行。</p>
<p>又新增了一个wmode 属性，具体效果，各位看官使用过后，自己体验一下吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/30/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>观望2010的互联网</title>
		<link>http://www.po-min.com/blog/archives/26</link>
		<comments>http://www.po-min.com/blog/archives/26#comments</comments>
		<pubDate>Wed, 13 Jan 2010 15:20:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[絮叨]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=26</guid>
		<description><![CDATA[今天发生的事情，在Google服务重度使用者中引起很大震动，2009年底到2010年的头一个月里发生了太多太多意想不到的，关于互联网的政策、规定、事件，我们已经失去了一部分很好互联网服务。受益于这些服务，我们的互联网越来越贴心，物联网的概念也随之而来，对于这么大的机遇，做为互联网从业者，我们应该何去何从？山寨这些服务？对抗（我不愿意看到这个结局）？ 努力吧，未来肯定是属于互联网的，这次是挫折也是机遇，看我们怎么把握了！ p.s: 通过搜索引擎，搞定了ssh，chrome的浏览器插件也搞定了，正式从firefox转到chrome。]]></description>
			<content:encoded><![CDATA[<p>今天发生的事情，在Google服务重度使用者中引起很大震动，2009年底到2010年的头一个月里发生了太多太多意想不到的，关于互联网的政策、规定、事件，我们已经失去了一部分很好互联网服务。受益于这些服务，我们的互联网越来越贴心，物联网的概念也随之而来，对于这么大的机遇，做为互联网从业者，我们应该何去何从？山寨这些服务？对抗（我不愿意看到这个结局）？</p>
<p>努力吧，未来肯定是属于互联网的，这次是挫折也是机遇，看我们怎么把握了！</p>
<p>p.s: 通过搜索引擎，搞定了ssh，chrome的浏览器插件也搞定了，正式从firefox转到chrome。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/26/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“Flash平台开发者技能树”&#8211;你一定需要他</title>
		<link>http://www.po-min.com/blog/archives/24</link>
		<comments>http://www.po-min.com/blog/archives/24#comments</comments>
		<pubDate>Fri, 08 Jan 2010 19:47:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[絮叨]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=24</guid>
		<description><![CDATA[Flash平台开发者技能树]]></description>
			<content:encoded><![CDATA[<p>Adobe中国工程师Jinni最近精心设计了这张“Flash平台开发者技能树”。想成为专业的Flash平台开发者，可以参考一下这棵“树”了。原文地址：<a title="Flash平台开发者技能树" href="http://swfever.com/?p=871" target="_blank">Flash平台开发者技能树</a>。</p>
<p>其中，Jinni将Flash开发相关技能分成了以下五个大类：</p>
<ul>
<li><strong>程序基础</strong>：如果你是计算机专业毕业，那么这些内容基本上都是必修课。也许你在学效里曾经忽视了这些基础知识，那么我强烈建议你买些这方面的书来“回回锅儿”，对基础知识的掌握决定了你能在技术的道路上走多远。</li>
<li><strong>Flash/Flex基础开发</strong>：主要就是三大方面，ActionScript 3.0，Flex和AIR。不论你开发什么领域的Flash应用，这三种开发技能都该有所掌握。</li>
<li><strong>领域相关技术</strong>：当你的开发涉及到某个特定领域时（如游戏，视频应用等），你需要掌握更多领域相关的技能和知识。</li>
<li><strong>工程方法学</strong>：作为一个纯粹的开发者，你现在可能不太重视这些。但如果你有志于在几年内转型做项目管理，软件工程学的技能对你来说就格外重要了。</li>
<li><strong>集成开发环境</strong>：虽然我不否认有很多可以只用命令行＋记事本的达人存在，但对于普通开发者来说，熟练的掌握一到两种IDE仍然是必须的要求。</li>
</ul>
<p>ok，大家仔细去看看哦！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/24/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BulkLoader 爽快的加载你的文件</title>
		<link>http://www.po-min.com/blog/archives/15</link>
		<comments>http://www.po-min.com/blog/archives/15#comments</comments>
		<pubDate>Fri, 08 Jan 2010 19:29:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[加载]]></category>
		<category><![CDATA[工具类]]></category>
		<category><![CDATA[BulkLoader]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=15</guid>
		<description><![CDATA[BulkLoader 是个很好用的加载类库，用 BulkLoader实例的add()方法可以很方便地将素材地址加入加载列表。]]></description>
			<content:encoded><![CDATA[<p>BulkLoader 是个很好用的加载类库，用 BulkLoader实例的add()方法可以很方便地将素材地址加入加载列表。<br />
     当然，这里有一些地方要注意，我们一一的解决它。<br />
<span id="more-15"></span><br />
在BulkLoader 的 add方法中，有下面这些参数：<br />
url:*  — 加载对象（String 或者 URLRequest 类型）<br />
props:Object (default = null)  — 一些加载对象的属性，有下面这些<br />
preventCache：Boolean — 是否防止缓存<br />
id：String — 添加加载对象时候，也可以给它添加一个id，方便以后调用<br />
priority：int — 还可以通过priority属性调整加载对象的加载顺序，priority值越大，优先权越高，越早加载<br />
maxTries：int — maxTries属性用于设定加载失败时的重试次数<br />
weight：int — 每个文件的大小提前告诉BulkLoader（当你想更精确的得到加载进度的时候，这是一个好的办法）<br />
headers：Array — URLRequest 的头信息，当你传入的url是一个String的时候，BulkLoader也会把这些信息添加到URLRequest里面<br />
context：* — LoaderContext 或者 SoundLoaderContext，加载到ApplicationDomain程序域的时候常用的属性<br />
pausedAtStart：Boolean — 如果是一个nestream 对象，控制对象是否暂停。</p>
<p>BulkLoader提供PROGRESS事件和COMPLETE事件，让我们监视加载状态，用法如下</p>
<pre lang="actionscript3" line="1" colla="+">
//添加一个PROGRESS事件，这个事件会在队列加载时不断触发。通常可以用于监听加载进度。
loader.addEventListener(BulkLoader.PROGRESS, onAllItemsProgress);

//添加一个COMPLETE事件，这个事件会在队列里的所有对象都加载完毕后触发
loader.addEventListener(BulkLoader.COMPLETE, onAllItemsLoaded);

//一切准备好后，只要调用start方法就可以开始加载我们添加的素材序列了。
loader.start();
</pre>
<p>     好了，看完上面的大家应该对BulkLoader有了一定了解了，至于一些用法，可以看BulkLoader的文档，或者搜索一下，有很多教程，这里我要说的是我们会遇到的一些问题。<br />
用 BulkLoader实例的add()方法可以很方便地将素材地址加入加载列表<br />
但是当素材太多的时候，加载进度会不准确（progess事件中的totalBytes并不能同步获取所有资源的Bytes）<br />
最精确解决的办法是将 每个文件的大小提前告诉BulkLoader，就是在add里面加入weight值。<br />
但是，这显然不是一个最省事的解决方法。<br />
其实文档里面有一些属性可以给我们使用，通过BulkProgressEvent的loadingStatus方法可以显示加载过程中的所有信息！<br />
大家可以在函数中trace() loadingStatus方法看看，就像下面：</p>
<pre lang="actionscript3" line="1" colla="+">
public function onAllItemsProgress(e: BulkProgressEvent):void {
     trace(e.loadingStatus());
}
</pre>
<p>你会发现 BulkProgressEvent 会有一个 weightPercent属性，通过这个值，差不多可以解决我们的问题了，如果发现加载进度还是有很大误差的话，大家再看看loadingStatus 里面的其他属性，通过自己的算法来解决，不然就只能在 add 的时候，把文件的大小提前告诉 BulkLoader了。</p>
<p>     剩下一个会经常需要解决的问题就是程序域的问题了，也就是加载的时候ApplicationDomain的问题，大家都知道 在用 Loader 加载文件的时候,可以在通过LoaderContext开指定加载的域，如下(例子是加载到当前域)：</p>
<pre lang="actionscript3" line="1" colla="+">
var context:LoaderContext = new LoaderContext();
context.applicationDomain =   new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load(new URLRequest("text.swf"),context);
</pre>
<p>在BulkLoader里面我们同样可以进行指定，方法也是差不多的。</p>
<pre lang="actionscript3" line="1" colla="+">
var loader : BulkLoader = new BulkLoader("config");
loader.addEventListener(BulkLoader.PROGRESS, loadProgress);
loader.addEventListener(BulkLoader.COMPLETE, loadInit);
var context : LoaderContext = new LoaderContext(true, ApplicationDomain.currentDomain);
loader.add("EsCard.swf", {id:"main", context: context});
loader.start();
</pre>
<p>ok，这样就大功告成了。</p>
<p>希望这篇文章能帮到大家，如果有错误的地方，请指出，谢谢！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/15/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>倒转给定的字符串</title>
		<link>http://www.po-min.com/blog/archives/13</link>
		<comments>http://www.po-min.com/blog/archives/13#comments</comments>
		<pubDate>Wed, 06 Jan 2010 16:29:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=13</guid>
		<description><![CDATA[又一个有用的函数，倒转给定的字符串。]]></description>
			<content:encoded><![CDATA[<p>又一个有用的函数，倒转给定的字符串。<br />
<span id="more-13"></span></p>
<pre lang="actionscript3" line="1" colla="+">
function reverseString(tString:String):String {
    var tmp_array:Array=tString.split("");
    tmp_array.reverse();
    var tmpString:String=tmp_array.join("");
    return tmpString;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/13/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>as3顺播倒播类</title>
		<link>http://www.po-min.com/blog/archives/9</link>
		<comments>http://www.po-min.com/blog/archives/9#comments</comments>
		<pubDate>Tue, 05 Jan 2010 19:09:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[工具类]]></category>
		<category><![CDATA[倒播]]></category>
		<category><![CDATA[顺播]]></category>

		<guid isPermaLink="false">http://www.po-min.com/?p=9</guid>
		<description><![CDATA[一个as3的顺播倒播类，同时支持播放到帧或者帧标签。]]></description>
			<content:encoded><![CDATA[<p>一个as3的顺播倒播类，同时支持播放到帧或者帧标签。<br />
<span id="more-9"></span><br />
使用办法如下：</p>
<p>1.open方法：</p>
<pre lang="actionscript3" line="1" colla="+">
import flash.utils.TimeLineManger;

//open方法：顺播，要求目标帧(目标帧支持帧标签)必须大于当前帧。否则，无效果。
//15 为目标帧
//p1 为目标帧标签
//1  为前进速度
TimeLineManger.open(mc, 15, 1);
//TimeLineManger.open(mc, "p1", 1);
</pre>
<p>2.close方法：</p>
<pre lang="actionscript3" line="1" colla="+">
import flash.utils.TimeLineManger;

//close方法：倒播，要求目标帧(目标帧支持帧标签)必须小于当前帧。否则，无效果。
TimeLineManger.close(mc, 15, 1);
//TimeLineManger.close(mc, "p1", 1);
//15 为目标帧
//p1 为目标帧标签
//1  为倒退速度
</pre>
<p>3.gotoFrame方法：</p>
<pre lang="actionscript3" line="1" colla="+">
import flash.utils.TimeLineManger;

//gotoFrame：播放至某帧。根据目标帧，判断播放方向。
TimeLineManger.gotoFrame(mc, 15, 1);
//15 为目标帧
//1  为前进或者倒退速度
</pre>
<p>4.gotoFrameLabel方法：</p>
<pre lang="actionscript3" line="1" colla="+">
import flash.utils.TimeLineManger;

//gotoFrameLabel：播放至某帧。根据目标帧，判断播放方向。
TimeLineManger.gotoFrameLabel(mc, "p1", 1);
//p1 为目标帧标签
//1  为前进或者倒退速度
</pre>
<p>整个类文件如下：</p>
<pre lang="actionscript3" line="1" colla="+">
package utils {
	import flash.display.MovieClip;
	import flash.display.FrameLabel;
	import flash.events.Event;

	/**
	 * @author Hank
	 * MovieClip 顺播、倒播类
	 * 2009-10-7
	 *
	 * 2009-10-28 update
	 * 加入帧标签支持
	 *
	 */
	public class TimeLineManger
	{
		/*
		 * open方法：顺播，要求目标帧(目标帧支持帧标签)必须大于当前帧。否则，无效果。
		 * TimeLineManger.open(mc, 15, 1);
		 * TimeLineManger.open(mc, "p1", 1);
		 * 15 为目标帧
		 * p1 为目标帧标签
		 * 1  为前进速度
		 */
		static public function open(display : MovieClip, target : * = null, speed : Number = 1) : void
		{
			display.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
			display.target = (target == null) ? display.totalFrames : (target is Number) ? target : targetFrameFromeLabel(display, target, "open");
			display.labels = display.currentLabels;
			display.speed = speed;
			display.dir = "open";
			display.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
		}

		/*
		 * close方法：倒播，要求目标帧(目标帧支持帧标签)必须小于当前帧。否则，无效果。
		 * TimeLineManger.close(mc, 15, 1);
		 * TimeLineManger.close(mc, "p1", 1);
		 * 15 为目标帧
		 * p1 为目标帧标签
		 * 1  为倒退速度
		 *
		 */
		static public function close(display : MovieClip, target : * = null, speed : Number = 1) : void
		{
			display.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
			display.target = (target == null) ? 1 : (target is Number) ? target : targetFrameFromeLabel(display, target, "close");
			display.speed = speed;
			display.dir = "close";
			display.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
		}

		/*
		 * gotoFrame：播放至某帧。根据目标帧，判断播放方向。
		 * TimeLineManger.gotoFrame(mc, 15, 1);
		 * 15 为目标帧
		 * 1  为前进或者倒退速度
		 */
		static public function gotoFrame(display : MovieClip, frmae : int, speed : Number = 1) : void
		{
			display.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
			display.target = frmae;
			display.dir = frmae > display.currentFrame ? "open" : "close";
			display.speed = speed;
			display.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
		}

		/*
		 * gotoFrameLabel：播放至某帧。根据目标帧，判断播放方向。
		 * TimeLineManger.gotoFrameLabel(mc, "p1", 1);
		 * p1 为目标帧标签
		 * 1  为前进或者倒退速度
		 */
		static public function gotoFrameLabel(display : MovieClip, label : String, speed : Number = 1) : void
		{
			display.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
			display.target = targetFrameFromeLabel(display, label);
			display.dir = display.target > display.currentFrame ? "open" : "close";
			display.speed = speed;
			display.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
		}

		static private function onEnterFrameHandler(e : Event) : void
		{
			var display : MovieClip = e.currentTarget as MovieClip;
			var frame : Number;
			if(display.dir == "open") {
				frame = display.currentFrame + display.speed;
				if(frame >= display.target) {
					display.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
					display.gotoAndStop(display.target);
				} else {
					display.gotoAndStop(frame);
				}
			} else if(display.dir == "close") {
				frame = display.currentFrame - display.speed;
				if(frame <= display.target) {
					display.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
					display.gotoAndStop(display.target);
				} else {
					display.gotoAndStop(frame);
				}
			}
		}

		static private function targetFrameFromeLabel(display : MovieClip, traget : String, dir : String = "open") : uint
		{
			var labels : Array = display.currentLabels;
			for(var i:String in labels) {
				var label : FrameLabel = labels[i];
				if(label.name == traget) {
					return label.frame;
				}
			}
			return ((dir == "close") ? 1 : display.totalFrames);
		}
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.po-min.com/blog/archives/9/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

