<?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>Moondy’s Zone &#187; Flash/AS3</title>
	<atom:link href="http://www.moondyzone.com/tag/as3/feed" rel="self" type="application/rss+xml" />
	<link>http://www.moondyzone.com</link>
	<description>一位IT民工的点点滴滴……  WEB前端、网页重构、AS3</description>
	<lastBuildDate>Mon, 18 Apr 2011 10:06:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://www.moondyzone.com/wp-includes/js/jquery/jquery.js?ver=1.3.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>简明的拼图游戏教程</title>
		<link>http://www.moondyzone.com/as3/467.html</link>
		<comments>http://www.moondyzone.com/as3/467.html#comments</comments>
		<pubDate>Mon, 15 Jun 2009 09:25:35 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=467</guid>
		<description><![CDATA[想来想去，还是稍微写点东西吧，一来是想把自己的一些制作的思路与大家分享，二来也想请高手们点评一下。在这里把一些重点的部分详细说明一下，相信有点基础的朋友都能很快理解，心急点的朋友呢就直接跳到最后去看源码吧，呵呵。观看演示。
大体思路：载入图片、把图片分割、随机排列图片、鼠标点击事件、序列的比较判断是否结束。在这里只把一些关键的代码帖出来了，但不影响理解。
首先是加载图片，我们这里用的是外部载入，当然你也可以扩展一下做成可以多张图片选择的：

1
2
3
4
5
private function loadpic&#40;&#41; &#123;
	_loader = new Loader&#40;&#41;;
	_loader.load&#40;new URLRequest&#40;&#34;myphoto.jpg&#34;&#41;&#41;;
	_loader.contentLoaderInfo.addEventListener&#40;Event.COMPLETE, onImageLoad&#41;;
&#125;

接下来到了一个重点了，分割图片，这里应该会有很多种处理方法，我这里用的是Matrix控制背景图填充的方法来实现的。有更好的方法还望大家指出来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private function onImageLoad&#40;event:Event&#41;:void &#123;
	var bitmap:BitmapData = new BitmapData&#40;_loader.width, _loader.height&#41;;
	var x_num:int=480/x_p;//每小块的宽
	var y_num:int=360/y_p;//每小块的高
	bitmap.draw&#40;_loader&#41;;
	pic_box=new box_bg&#40;&#41;;
	pic_box.x=10;
	pic_box.y=10;
	addChild&#40;pic_box&#41;;
	d_arr=new Array&#40;&#41;;//初始数组
	for &#40;var i:int=0; i&#60;x_p; i++&#41; &#123;
		for &#40;var j:int=0; j&#60;y_p; j++&#41; &#123;
		var matrix:Matrix = new Matrix&#40;&#41;;
		matrix.translate&#40;-x_num * i,-y_num * j&#41;;//背景定位
		var block:Sprite = new Sprite&#40;&#41;;
		block.x=x_num * i;
		block.y=y_num * j;
		var temp_obj:Object=&#123;obj:block,b_x:block.x,b_y:block.y&#125;;
		d_arr.push&#40;temp_obj&#41;;//存入初始数组，在这里把obj也存入，方便后面的比较。
		block.buttonMode=true;
		block.graphics.lineStyle&#40;&#41;;
		block.graphics.beginBitmapFill&#40;bitmap, matrix&#41;;
		block.graphics.drawRect&#40;0,0,x_num-1, y_num-1&#41;;//通过背景图填充的方式分割图片
		block.graphics.endFill&#40;&#41;;
		pic_box.addChild&#40;block&#41;;
		&#125;
	&#125;
&#125;

图片分割好了，接下来就是要把它打散，也就是随机排列。我们刚才已经把正确的顺序存入了d_arr数组，那么现在要做的就是把这个数组复制一个出来，然后随机排列，用sort()加一个比较函数就可以实现。d_arr是初始的数组，c_arr是随机化了的数组，都包含了[obj,x,y]，把d_arr中的obj取值c_arr中的x,y，那么就实现了图片的随机排列。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private function block_pic&#40;e:MouseEvent&#41; &#123;
	var fooba:ByteArray=new ByteArray&#40;&#41;;//深度复制数组。
	fooba.writeObject&#40;d_arr&#41;;
	fooba.position=0;
	c_arr=fooba.readObject&#40;&#41; [...]]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/467.html/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>一个拼图游戏的DEMO</title>
		<link>http://www.moondyzone.com/demo/439.html</link>
		<comments>http://www.moondyzone.com/demo/439.html#comments</comments>
		<pubDate>Mon, 08 Jun 2009 08:53:48 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[My Demo]]></category>
		<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=439</guid>
		<description><![CDATA[这游戏也很简单，也就是想自己练练算法了。这里只是个DEMO，但主要部分都包括了。主要是因为对界面设计实在头疼，再者做练习嘛，而且是被别人做得不爱做了的游戏，就没弄得那么完整了。
其实对于高手来说，拼图游戏只算是小菜了。我不是高手，也许我的方法不是最优的，但绝对是原创的，相信还是能给一些正在学习中的朋友一些帮助。过些天整理一个小教程出来吧，到时连源码一起发。

源码及教程
相关文章一个仿FLASH自带的取色器最近在研究PV3D了——360度全景图一个自制的AS3 MP3播放器原创贪吃蛇——贪吃蛇的新玩法火眼金睛——考眼力咯！一个既成功又不成功的作品——特技飞行]]></description>
		<wfw:commentRss>http://www.moondyzone.com/demo/439.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>AS3中JSON的基本应用实例</title>
		<link>http://www.moondyzone.com/as3/356.html</link>
		<comments>http://www.moondyzone.com/as3/356.html#comments</comments>
		<pubDate>Fri, 22 May 2009 16:44:22 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=356</guid>
		<description><![CDATA[最近发现有不少通过“AS3 json”关键词搜索过来的朋友，可见还是有很多朋友对这方面关注的。不过现下有关AS3 JSON的文章是少之又少，网上搜索到的基本上也都是那同样的几篇文章转来转去罢了，也包括我之前那篇，也没什么例子。相信会让很多初学的朋友看得云里雾里的，其实我也觉得奇怪，json其实也算蛮简单的，怎么就没人写篇好的教程呢。废话就不多说了，希望转载的朋友能注明一下出处，谢了。
首先，你需要有一个JSON的类库，建议去下载adobe官方提供的产品外类库：as3corelib。类库的使用就不多说了，大家应该都知道。
先说说获取数据。可以这么说，只要你懂AS3与XML的交互，那么就一定能懂JSON，因为两者几乎是一样的，你唯一需要做的只是了解一下JSON的格式。例如下面这个JSON的例子，就像XML一样，你可以通过任何动态页面来生成这个格式，也可以通过静态的甚至TXT来读取也行。

1
2
3
4
[{&#34;name&#34;:&#34;Hans&#34;,&#34;age&#34;:&#34;32&#34;},
{&#34;name&#34;:&#34;John&#34;,&#34;age&#34;:&#34;12&#34;},
{&#34;name&#34;:&#34;Zaki&#34;,&#34;age&#34;:&#34;34&#34;},
{&#34;name&#34;:&#34;Dr. Cox&#34;,&#34;age&#34;:&#34;88&#34;}]

AS中的代码：

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package &#123;
 import com.adobe.serialization.json.JSON;
&#160;
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.net.URLLoader;
 import flash.net.URLRequest;
&#160;
 public class getJSON extends Sprite &#123;
  public function getJSON&#40;&#41; &#123;
   var loader:URLLoader = new URLLoader&#40;&#41;;
&#160;
   loader.load&#40;new URLRequest&#40; &#34;http://127.0.0.1/json.php&#34; &#41;&#41;;//这里是你要获取JSON的路径
   loader.addEventListener&#40;Event.COMPLETE, decodeJSON&#41;;
  &#125;
  private function decodeJSON&#40;evt:Event&#41;:void &#123;
   var persons:Array = JSON.decode&#40; URLLoader&#40; evt.target &#41;.data &#41;;
   //在这里，就可以通过操作数组来应用数据了，很方便
   for &#40;var i=0; i&#60;persons.length; i++&#41; &#123;
    trace&#40; persons&#91;i&#93;.name &#41;;
   &#125;
  &#125;
 &#125;
&#125;

是不是很简单呢？在这里我们只用到了decode()这个方法，其实JSON类库要用的也只有两个方法，另一个就是马上要用到的encode()。大家可以理解为编码与解码。发送数据的代码如下：

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package &#123;
 import com.adobe.serialization.json.JSON;
&#160;
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.net.*;
&#160;
 public class sendJSON extends Sprite &#123;
  public function sendJSON&#40;&#41; [...]]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/356.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>一个仿FLASH自带的取色器</title>
		<link>http://www.moondyzone.com/as3/327.html</link>
		<comments>http://www.moondyzone.com/as3/327.html#comments</comments>
		<pubDate>Mon, 18 May 2009 16:25:35 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[My Demo]]></category>
		<category><![CDATA[取色器]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=327</guid>
		<description><![CDATA[我已经想不起来当初是为什么要做这么个东东了，本来是想做成一个封装类或是组件可以方便地调用取色器。但是却弄得不完美，隔了这么久了也没心思重新弄过了。虽然FLASH自带有取色器组件，不过在体积上这个要轻巧许多。调用其实还算方便，可以供学习者参考一下。

源文件：color.rar
相关文章一个拼图游戏的DEMO最近在研究PV3D了——360度全景图一个自制的AS3 MP3播放器简明的拼图游戏教程AS3中JSON的基本应用实例收集整理了一些AS3中常用到的公式]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/327.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>收集整理了一些AS3中常用到的公式</title>
		<link>http://www.moondyzone.com/as3/325.html</link>
		<comments>http://www.moondyzone.com/as3/325.html#comments</comments>
		<pubDate>Sun, 17 May 2009 14:14:15 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[公式]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=325</guid>
		<description><![CDATA[今天有在做一个FLASH，本身并没有什么难的地方，做到某一个效果是需要动态地计算两条线之间的夹角，我猛然发现，我居然把三角函数的知识都退还给了中学老师了。立马百度、谷歌进行恶补，另外又收集了一些AS3中比较常用到的公式以备用。
基本三角函数的计算：
角的正弦值 = 对边 / 斜边
角的余弦值 = 邻边 / 斜边
角的正切值 = 对边 / 邻边
角度制与弧度制的相互转换：
弧度 = 角度 * Math.PI / 180
角度 = 弧度 * 180 / Math.PI
计算两点间距离：
dx = x2 – x1;
dy = y2 – y1;
dist = Math.sqrt(dx*dx + dy*dy);
缓动公式:
sprite.x += (targetX &#8211; sprite.x) * easing;//easing为缓动系数变量
sprite.y += (targetY &#8211; sprite.y) * easing;
弹性公式:
vx += (targetX &#8211; sprite.x) * spring;//spring为弹性系数
vy [...]]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/325.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>最近在研究PV3D了——360度全景图</title>
		<link>http://www.moondyzone.com/demo/322.html</link>
		<comments>http://www.moondyzone.com/demo/322.html#comments</comments>
		<pubDate>Sat, 16 May 2009 14:04:31 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[My Demo]]></category>
		<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[pv3d]]></category>
		<category><![CDATA[三维全景]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=322</guid>
		<description><![CDATA[很早之前就想研究下FLASH的3D全景图了的，可是这部分的技术好像十分地商业化，想找点相关的资料源码真是比登天还难。后来了解了PV3D，但也一直没有静下心去研究，另外国内在这方面也还比较少有比较好的教程，有价值的文献就更少了，后来找到一个站叫做 flash3Dd研究所，那里的教程很不错，至少是很适合我这种人学习，特此把链接给加上。
这个全景图是用六面立方体做的，球形的那种偶还不会。那种球形的拼接图到还好找，可这个六面体的拼接图找了好久也没找到，只好去拿了某位仁兄现成的图片了。

相关文章一个拼图游戏的DEMO一个仿FLASH自带的取色器一个自制的AS3 MP3播放器简明的拼图游戏教程AS3中JSON的基本应用实例收集整理了一些AS3中常用到的公式]]></description>
		<wfw:commentRss>http://www.moondyzone.com/demo/322.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>一组超酷的AS3音频频谱波形</title>
		<link>http://www.moondyzone.com/as3/273.html</link>
		<comments>http://www.moondyzone.com/as3/273.html#comments</comments>
		<pubDate>Thu, 23 Apr 2009 14:10:46 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[音频]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=273</guid>
		<description><![CDATA[这是从一个老外的站上找到的，不过我现在都忘记那网址了。
写得很不错，不仅算法值得研究，而且整个架构以及OOP思想都很值学习。调用方法也都做好了，可以很方便地用在任何你想用到的地方。之前我的那个MP3播放器里用的就是其中的一个效果。
点击左键可切换效果。

源文件：revolt-source.rar
相关文章简明的拼图游戏教程一个拼图游戏的DEMOAS3中JSON的基本应用实例一个仿FLASH自带的取色器收集整理了一些AS3中常用到的公式最近在研究PV3D了——360度全景图]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/273.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>AS3模似波浪效果，已封装</title>
		<link>http://www.moondyzone.com/as3/264.html</link>
		<comments>http://www.moondyzone.com/as3/264.html#comments</comments>
		<pubDate>Tue, 21 Apr 2009 09:04:45 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[封装]]></category>
		<category><![CDATA[波浪]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=264</guid>
		<description><![CDATA[今天在天地会上看到有位朋友发了个模似波浪的效果，正好有点东西想用用这个，就下了下来。其实很多时候我们下的一些源码都是单独写的，效果是有了，可是要想用到自己的项目中的话一时半会还整不到一块来。不过，不要忘记了OOP的思想之一——封装，自己做了个简易的接口，用起来就方便啦。
用法很简单，在想要用的地方：
var wave:Wavef=new Wavef(600,200,600,1,3000);
//Wavef(stage_w,stage_h,num,mouse_diff_ratio,auto_interval)
your_obj.addChild(wave);

源文件：wave.rar
相关文章简明的拼图游戏教程一个拼图游戏的DEMOAS3中JSON的基本应用实例一个仿FLASH自带的取色器收集整理了一些AS3中常用到的公式最近在研究PV3D了——360度全景图]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/264.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>一个自制的AS3 MP3播放器</title>
		<link>http://www.moondyzone.com/demo/229.html</link>
		<comments>http://www.moondyzone.com/demo/229.html#comments</comments>
		<pubDate>Thu, 26 Mar 2009 13:21:43 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[My Demo]]></category>
		<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[MP3播放器]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=229</guid>
		<description><![CDATA[暂时命名为Moondy Player吧，呵呵。老实说这个东东还真研究了不少时间，也参考了不少前辈。其中的歌词提取部分是《Actionscript3.0 Animation》这本书里的，而频谱波形生成是用的一个老外的代码，播放器的UI也都是网上找来的-_-!。如果链网络路径的MP3地址的话，在本地放是没有问题，但放到服务器上这频谱波形就出不来，这应该是安全机制的问题吧，只好传了几首歌到自己服务器上给大家看效果了。
第一次弄，感觉还有很多不足的地方，有时间再改进下吧。

应各位朋友的要求，虽然不太完整，我还是把源码都放出来吧，供大家参考了。
源文件：moondyplayer.rar
PS：看来把MP3文件放在自己空间里是一件非常危险的事，流量程又快被吸干了，开防盗链都没用，只好先删掉先了。
相关文章一个拼图游戏的DEMO一个仿FLASH自带的取色器最近在研究PV3D了——360度全景图简明的拼图游戏教程AS3中JSON的基本应用实例收集整理了一些AS3中常用到的公式]]></description>
		<wfw:commentRss>http://www.moondyzone.com/demo/229.html/feed</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>AS3+ASP+ACCESS的FLASH留言版教程（二）</title>
		<link>http://www.moondyzone.com/as3/217.html</link>
		<comments>http://www.moondyzone.com/as3/217.html#comments</comments>
		<pubDate>Mon, 09 Feb 2009 14:35:05 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[教程]]></category>
		<category><![CDATA[留言版]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=217</guid>
		<description><![CDATA[接上一篇，现在说说AS的写法了。在AS中主要要实现的功能就是对XML的读取以及表单数据的提交，只要实现了这两个功能，其余的表现手法什么的都可以自由发挥咯。
在这里我只把主要的帖出来说一下，稍后我会附上源码的。
先是读取XML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private function loadxml&#40;&#41; &#123;
   var Requesturl:URLRequest=new URLRequest&#40;&#34;getinfo.asp?page=&#34;+page+&#34;&#38;&#34;+Math.random&#40;&#41;* 10&#41;;//路径可以是绝对也可以是相对，后面加随机数是解决数据刷新问题。
   loader=new URLLoader&#40;Requesturl&#41;;
   loader.addEventListener&#40;Event.COMPLETE,xmlcomplete&#41;;
  &#125;
  private function xmlcomplete&#40;e:Event&#41; &#123;
   listxml=new XML&#40;e.target.data&#41;;
   add_list&#40;&#41;;
   listxml.@page&#62;1 ? add_page&#40;&#41; : 0;//如果页数大于1，显示分页
  &#125;
private function add_list&#40;&#41; &#123;//list_block为一个元件，里面有分别命名为book_title,book_name,book_date的三个动态文本。
   for &#40;var i=0; i&#60;listxml.item.length&#40;&#41;; i++&#41; &#123;
    list_block=new list_mc;
    list_block.y=25* i;
    list_block.visible=false;
    list_block.book_title.text=listxml.item.@book_title&#91;i&#93;.toString&#40;&#41;;
    list_block.book_name.text=listxml.item.@book_name&#91;i&#93;.toString&#40;&#41;;
    list_block.book_date.text=listxml.item.@book_date&#91;i&#93;.toString&#40;&#41;;
   &#125;
  &#125;

当然，在显示列表的时候可以加一些视觉效果，这个就可以自行发挥咯。
接下来是表单提交的部分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private function send_book&#40;e:MouseEvent&#41; &#123;
   //在这里可以先对表单进行验证
    var request:URLRequest=new URLRequest&#40;&#34;sendinfo.asp&#34;&#41;;
    var variables:URLVariables=new URLVariables&#40;&#41;;
    variables.book_name=input_boxs.input_name.text;
    variables.book_qq=input_boxs.input_qq.text;
    variables.book_mail=input_boxs.input_mail.text;
    variables.book_title=input_boxs.input_title.text;
    variables.book_info=input_boxs.input_info.text;
    request.data=variables;
    var loader:URLLoader=new URLLoader&#40;&#41;;
    loader.dataFormat=URLLoaderDataFormat.TEXT;
    loader.addEventListener&#40;Event.COMPLETE,send_complete&#41;;//提交成功后运行send_complete
    loader.load&#40;request&#41;;
   &#125;
  &#125;

一个完整的留言版也会牵涉到很多东西，在这里附上源码，由于写得比较急，也没加什么注释，欢迎大家指正以及讨论。
源文件下载：guestbook.rar
相关文章AS3+ASP+ACCESS的FLASH留言版教程（一）简明的拼图游戏教程AS3中JSON的基本应用实例一个简易的AS3留言版AS3的深度管理及排序一个拼图游戏的DEMO]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/217.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>AS3+ASP+ACCESS的FLASH留言版教程（一）</title>
		<link>http://www.moondyzone.com/as3/212.html</link>
		<comments>http://www.moondyzone.com/as3/212.html#comments</comments>
		<pubDate>Mon, 09 Feb 2009 13:54:06 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[教程]]></category>
		<category><![CDATA[留言版]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=212</guid>
		<description><![CDATA[有不少朋友问起flash留言版的问题，其实说白了flash跟数据库的交互并不是什么高深的技术，只要掌握了原理，便可一通百通。我很少写教程，也不太会写，我是属于那种会做但不太会说的人，但现在网络上相关的资料也不多，我也试着写一个吧。一个简易的AS3留言版。
大家应该都知道，flash与数据库交互的话要借助第三方语言，在这里我们需要的是一个生成XML格式的动态页。本例用的是ASP+ACCESS，因为本民工只对ASP比较熟罢了，熟悉PHP的朋友完全可以改成PHP+MYSQL的，因为AS3读的只是XML的格式，至于用何种语言来生成都没有关系。ACCESS我就不讲了，相信大家都会用，对照一下下面的字段名就好了。
先建配置文件
conn.asp

1
2
3
4
5
6
&#60;% on error resume next
datapath = &#34;date/book_data.mdb&#34;//数据库的路径
set conn=Server.Createobject&#40;&#34;adodb.connection&#34;&#41;
connstr = &#34;Provider=Microsoft.Jet.OLEDB.4.0;&#34;&#38;amp;&#34;Data Source=&#34; &#38;amp; Server.MapPath&#40;datapath&#41;
conn.open connstr
%&#62;

接下来是获取数据的动态页，也就是生成XML的页面
getinfo.asp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
&#60;!--#include file=&#34;conn.asp&#34;--&#62;
&#60;%
set rs=server.createobject&#40;&#34;adodb.recordset&#34;&#41;
sql=&#34;select * from book order by book_id desc&#34;
rs.open sql,conn,1,1
rs.pagesize=8
i=1
mypage=request&#40;&#34;page&#34;&#41;
if mypage=&#34;&#34; then
mypage=1
else
mypage=cint&#40;mypage&#41;
end if
pages=rs.pagecount
rs.absolutepage=mypage
%&#62;
&#60;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&#62;
&#60;guestbook page=&#34;&#60;%=pages%&#62;&#34;&#62;
&#60;% do while not rs.eof%&#62;
&#60;item book_name=&#34;&#60;%=rs&#40;&#34;book_name&#34;&#41;%&#62;&#34; book_mail=&#34;&#60;%=rs&#40;&#34;book_mail&#34;&#41;%&#62;&#34; book_qq=&#34;&#60;%=rs&#40;&#34;book_qq&#34;&#41;%&#62;&#34; book_title=&#34;&#60;%=rs&#40;&#34;book_title&#34;&#41;%&#62;&#34; book_time=&#34;&#60;%=rs&#40;&#34;book_time&#34;&#41;%&#62;&#34; book_date=&#34;&#60;%=rs&#40;&#34;book_date&#34;&#41;%&#62;&#34; &#62;&#60;![CDATA[&#60;%=rs&#40;&#34;book_info&#34;&#41;%&#62;]]&#62;&#60;/item&#62;
&#60;%
if i=rs.pagesize then exit do end if
i=i+1
rs.movenext
loop
%&#62;&#60;/guestbook&#62;

在这里把分页功能也做了进来，也就是在AS3中通过加载getinfo.asp?page=XX来获取分页。而留言内容部分用CDATA，是为了能正常显示一些特殊字符。生成的XML格式如下

1
2
3
4
5
&#60;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&#62;
&#60;guestbook&#62;
&#60;item book_name=&#34;姓名&#34; book_mail=&#34;16955732@qq.com&#34;
book_qq=&#34;16955732&#34; book_title=&#34;标题名称&#34; book_time=&#34;2009-1-13 下午 10:36:21&#34; [...]]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/212.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>一个简易的AS3留言版</title>
		<link>http://www.moondyzone.com/demo/202.html</link>
		<comments>http://www.moondyzone.com/demo/202.html#comments</comments>
		<pubDate>Sun, 08 Feb 2009 15:05:58 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[My Demo]]></category>
		<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[留言版]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=202</guid>
		<description><![CDATA[这是前阵子弄的一个简易的留言版，也当做是对XML的一个练习，在AS3中对XML的支持比以往提高了很多。不过不得不说一下，界面做得的确不怎么样，让我感觉到如果有位美工帮忙该有多好。
AS3不能直接与数据库通信，所以做留言版的话需要借助第三方语言，而具体用哪一种都是一样的。像本例是通过XML读取数据，那么不管是用ASP还是PHP还是别的什么，只要是生成一个输出XML格式的动态页就可以了。数据的传递也并不是一定要用XML，比如说数据量不大的时候，直接flashvar传参数也可以，这些都看具体情况了。
本例的分页是给动态页传递参数实现的，另外在提交表单时也加了些验证，但可能还会有BUG存在，欢迎大家来测试。

相关文章AS3+ASP+ACCESS的FLASH留言版教程（二）AS3+ASP+ACCESS的FLASH留言版教程（一）简明的拼图游戏教程一个拼图游戏的DEMOAS3中JSON的基本应用实例一个仿FLASH自带的取色器]]></description>
		<wfw:commentRss>http://www.moondyzone.com/demo/202.html/feed</wfw:commentRss>
		<slash:comments>55</slash:comments>
		</item>
		<item>
		<title>一个逼真的AS3水波效果</title>
		<link>http://www.moondyzone.com/as3/159.html</link>
		<comments>http://www.moondyzone.com/as3/159.html#comments</comments>
		<pubDate>Mon, 12 Jan 2009 13:37:37 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[实例]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=159</guid>
		<description><![CDATA[这个并非原创，在AS2时代有位高人写过一个很牛的水波效果，后来大家都用那个。前阵子弄个游戏想用用这个水波的效果，不过AS2的不能直接用，所以花了点时间翻译了一下，算法还是跟那位前辈一样的。另外再提一下，这个算法其实蛮耗资源的，如果图片尺寸比较大的话，会很卡，也是因此我的游戏最终没有用到这个效果。

源文件下载：waterwave.rar
相关文章简明的拼图游戏教程一个拼图游戏的DEMOAS3中JSON的基本应用实例一个仿FLASH自带的取色器收集整理了一些AS3中常用到的公式最近在研究PV3D了——360度全景图]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/159.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AS3的深度管理及排序</title>
		<link>http://www.moondyzone.com/as3/91.html</link>
		<comments>http://www.moondyzone.com/as3/91.html#comments</comments>
		<pubDate>Wed, 07 Jan 2009 13:42:33 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[教程]]></category>
		<category><![CDATA[深度]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=91</guid>
		<description><![CDATA[说到深度管理，不由得想起了那万恶的AS2年代-_-! 至少本人觉得在AS2中的深度管理很是混乱，不仅有断层还会有冲突……总之麻烦多多。而在AS3中，一切都是这么的清晰与明朗，深度值断层不见了、有冲突的时候会自动调整，而我们只是记住以下几个语句的用法而已。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
numChildren : int
//返回此对象的子项数目。
getChildAt&#40;index:int&#41;:DisplayObject
//返回位于指定索引处的子显示对象实例。
getChildIndex&#40;child:DisplayObject&#41;:int
//返回 DisplayObject 的 child 实例的索引位置。
setChildIndex&#40;child:DisplayObject, index:int&#41;:void
//更改现有子项在显示对象容器中的位置。
swapChildren&#40;child1:DisplayObject, child2:DisplayObject&#41;:void
//交换两个指定子对象的 Z 轴顺序（从前到后顺序）。
swapChildrenAt&#40;index1:int, index2:int&#41;:void
//在子级列表中两个指定的索引位置，交换子对象的 Z 轴顺序（前后顺序）。
removeChildAt&#40;index:int&#41;:DisplayObject
//从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。

那么接下来我们来看一个简单的小例子吧，这里我就不罗列代码了，只把主要的写一下，关键是思路跟思想嘛，源码附在后面。有四个圆，可以点击与拖动，实现每点击其中一个圆，就把它调到最上面来。

这个其实很简单，要调整到最上层的话，只要用setChildIndex把鼠标点击对象的深度值设为（容器.numChildren-1）就可以啦。setChildIndex常用有以下几种：

1
2
3
4
5
6
7
8
置顶：
容器.setChildIndex&#40;对象A,容器.numChildren-1&#41;;
置底：
容器.setChildIndex&#40;对象A,0&#41;;
插入对象B的前面：
容器.setChildIndex&#40;对象A,容器.getChildIndex&#40;对象B&#41;&#41;;
插入对象B的后面：
容器.setChildIndex&#40;对象A,容器.getChildIndex&#40;对象B&#41;-1&#41;;

是不是太简单点了呢？那我们再加深一点点吧，我们把上例中的圆换成立方块，再点击拖动下看看……

在这里我们想要达到一种空间立体的效果的话，就要对这些方块进行深度的排序，也就是说要让我们视觉上看起来靠前的物体挡住后面的物体。解决方法应该是多种多样的，在这里本民工只说说自己的解决方案了。简单说来，物体的前后顺序可以通过Y轴坐标的大小来区分，Y轴坐标值大的深度值就越大，在拖动后用一个数据记录下每个对象以及该对象的Y值，再把该数组以Y值的大小排序，最后setChildIndex一遍就可以了。

1
2
3
4
5
6
7
8
9
10
11
12
//以下代码是放在MOUSE_UP的事件里。
var obj_box:Array=new Array;//新建立数组。
for &#40;var i=0; i&#60;block_box.numChildren; i++&#41; &#123;
var aa:Object=&#123;objs:block_box.getChildAt&#40;i&#41;,depth_y:block_box.getChildAt&#40;i&#41;.y&#125;;
obj_box.push&#40;aa&#41;;
//这里可以说是一个简单的JSON应用，把对象以及Y值添加到数组里。
&#125;
*****************************************************************************
for &#40;i=0; i&#60;block_box.numChildren; i++&#41; &#123;
block_box.setChildIndex&#40;obj_box.sortOn&#40;&#34;depth_y&#34;,Array.NUMERIC&#41;&#91;i&#93;.objs,i&#41;;
//重新排序后再指定索引位置。其中sortOn是按指定的属性来排序。
&#125;

最后再加个吸附功能吧，看看效果咯。

源码是临时写的，比较简单，都写在时间轴上咯。
点击下载源文件：depth.rar
相关文章简明的拼图游戏教程AS3中JSON的基本应用实例AS3+ASP+ACCESS的FLASH留言版教程（二）AS3+ASP+ACCESS的FLASH留言版教程（一）一个拼图游戏的DEMO一个仿FLASH自带的取色器]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/91.html/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>AS3获取当前URL地址以及防盗链</title>
		<link>http://www.moondyzone.com/as3/60.html</link>
		<comments>http://www.moondyzone.com/as3/60.html#comments</comments>
		<pubDate>Fri, 02 Jan 2009 08:13:57 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[防盗链]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=60</guid>
		<description><![CDATA[前阵子弄了个小游戏，然后想着像以前那样加个防盗链的功能（其实到最后也都没加，小破游戏会有谁来链啊），不过在这里可以讲讲实现的方法。
一般来说FLASH防盗链的手法都是获取当前的URL地址，然后跟事先指定的一个URL进行比对。获取当前URL的方法非常简单，有下面这句就可以了
loaderInfo.url
获取到了当前的URL那就好办事啦，一般说来一个域名都有带WWW或不带，所以一般需要预设两个URL地址。

1
2
3
4
5
6
7
8
var url:String = &#34;http://www.moondyzone.com&#34;;
var url2:String = &#34;http://moondyzone.com&#34;;
//substring(0, 25)就是取前25个字符进行比较;
if &#40;&#40;loaderInfo.url.substring&#40;0, 25&#41;==url&#41; &#124;&#124; &#40;loaderInfo.url.substring&#40;0, 21&#41;==url2&#41;&#41; &#123;
//随便你写什么了。
&#125; else &#123;
//也是随便你写什么了。
&#125;

相关文章简明的拼图游戏教程一个拼图游戏的DEMOAS3中JSON的基本应用实例一个仿FLASH自带的取色器收集整理了一些AS3中常用到的公式最近在研究PV3D了——360度全景图]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/60.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>JSON简析以及AS3中JSON类的应用</title>
		<link>http://www.moondyzone.com/as3/45.html</link>
		<comments>http://www.moondyzone.com/as3/45.html#comments</comments>
		<pubDate>Wed, 31 Dec 2008 13:44:47 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[JSON]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=45</guid>
		<description><![CDATA[以往在做FLASH数据交互的时候，大多用的是XML，或者直接通过html传递参数来交互。前不久接触了一下JSON，研究了一下，觉得还是值得写点东西的。
json是JavaScript Object Notation的简写，是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它是基于JavaScript（Standard ECMA-262 3rd Edition &#8211; December 1999）的一个子集，也就是说他是来自于javascript的东西。因为现在ajax的流行，大部分网站会采用ajax的模式和构架，那么json会是一个数据传输的首选（文本方式太简单，要是大数据量的时候无法理解，xml的方式数据量大，在解析的时候会增加服务器负担），那么要是一个网站从ajax构架的基础上出一个flex/flash版的界面的时候使用json会最少地减少服务器端的程序改动。
JSON的结构写法很容易理解，它原本就是以数据量小和清晰的数据格式而著称的。但是在AS中使用json其实并不是一个必须或是很好的选择，很多时候我们还是会用XML，因为AS对XML的解析已经很好了。但是多了解一种数据交互形式，特别是如此简单的JSON，当然是有益无害的咯。
在这里想说些题外话，很多人喜欢拿XML跟JSON的可读性以及解析来做比较，其实一个写法优秀的XML也不会比JSON差，举个例子来说吧，现假设有一个用户数据包括：用户名、密码、所在部门、性别、年龄。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
用XML表示如下：
&#60;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&#62;
　　&#60;user&#62;
　　&#60;name&#62;张三 &#60;/name&#62;
　　&#60;password&#62;123456&#60;/password&#62;
　　&#60;department&#62;技术部&#60;/department&#62;
　　&#60;sex&#62;男&#60;/sex&#62;
　　&#60;age&#62;30&#60;/age&#62;
　　&#60;/user&#62;
对于这样一个XML来说，如果数据量大了的确让人头昏眼花，也不好处理，但是如果我们转化成下面这种形式的话：
&#60;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&#62;
　　&#60;user&#62;
            &#60;people name=&#34;张三&#34; password=&#34;123456&#34; depattment=&#34;技术部&#34; sex=&#34;男&#34; age=&#34;30&#34; /&#62;
　　&#60;/user&#62;
再跟相应该的JSON来比较：
{&#34;name&#34;:&#34;张三&#34;,&#34;password&#34;:&#34;123456&#34;,&#34;department&#34;:&#34;技术部&#34;,&#34;sex&#34;:&#34;男&#34;,&#34;age&#34;:&#34;30&#34;}
也不会相差太多咯。

下面再说说adobe的官方的JSON类的用法吧。
1、服务器端来的json
语法：JSON.decode(String)
从服务器端获得的应该是一个字符串，把它存入一个变量，然后通过JSON.decode(String)方法后，就可以通过点语法来访问这些值。下面是一个网络上找来的例子：

1
2
3
4
5
6
7
8
9
10
11
12
13
var serverJSON:String = '{ &#34;programmers&#34;:{ &#34;firstName&#34;: &#34;Brett&#34;, &#34;lastName&#34;:
&#34;McLaughlin&#34;, &#34;email&#34;: &#34;brett@newInstance.com&#34; }, &#34;firstName&#34;: &#34;Jason&#34;, 
&#34;lastName&#34;:&#34;Hunter&#34;, &#34;email&#34;: &#34;jason@servlets.com&#34; },  &#34;firstName&#34;: 
&#34;Elliotte&#34;, &#34;lastName&#34;:&#34;Harold&#34;, &#34;email&#34;: &#34;elharo@macfaq.com&#34; }],
&#34;authors&#34;: [...]]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/45.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>AS3一些不太常见的代码写法（二）</title>
		<link>http://www.moondyzone.com/as3/41.html</link>
		<comments>http://www.moondyzone.com/as3/41.html#comments</comments>
		<pubDate>Tue, 30 Dec 2008 09:19:41 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=41</guid>
		<description><![CDATA[好了，接上一篇，把代码的详细解释发出来吧，大都是一些代码的简写方式：
1、把：
//mc跳转到10以内的随机帧
mc.gotoAndPlay(Math.floor(Math.random()*10));
写成：
mc.gotoAndPlay(Math.random()*10&#62;&#62;0);
//大多数人都会用Math.floor()来取整，&#62;&#62;是位移符号，&#62;&#62;0就是去除小数点之后的数，用此方法来取整真是即方便又强悍。
2、把：
if(i%2==1){}//判断如果i是奇数,执行大括号中的语句
写成：
if(i&#38;1){}
//i&#38;1就是判断i是否是奇数，而思想就是以i的二进制最后一位与1相与，为真就是奇数、假就是偶数。跟传统的用模除来判断奇偶的思想相比，也很强悍。
3、把：
//给一个数组压入10以内的整数
var a:Array=[];
for (var i:int=0; i&#60;10; i++) {
a.push(i);
}
写成：
//这是一种简化的写法，for语句后如果有一行代码要执行，可以省去大括号，这里只用分号相当于执行空语句
for (var i:int=0; i&#60;10; a.push(i++));
4、把：
//计算鼠标移动的水平速度
var temp:Number=mouseX;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
function moveHandler(e:MouseEvent):void {
var d:Number=mouseX-temp;
temp=mouseX;
}
写成：
var temp:Number=mouseX;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
function moveHandler(e:MouseEvent):void {
var d:Number=(-temp+(temp=mouseX));
}
//这样的简写方式虽然很强悍，但本民工觉得降低了可读性，不需强求。

5、把：
//随机运行几个函数中的一个
function fn1 () {
trace(&#8220;1&#8243;);
}
function fn2 () {
trace(&#8220;2&#8243;);
}
var a:Array=[fn1,fn2];
var b:int=Math.random()*2&#62;&#62;0;
a[b]();
写成：
function fn1 () {
trace(&#8220;1&#8243;);
}
function fn2 () {
trace(&#8220;2&#8243;);
}
([fn1,fn2][Math.random()*2&#62;&#62;0])();
//高手就是喜欢省，没有超强的逻辑思绪还真搞不定呢。
6、把：
//多重条件语句
var a:int=6;
if (a&#62;0) {
trace(&#8220;a is positive number&#8221;);
if (a&#38;1) {
trace(&#8220;a is positive odd number&#8221;);
}
}
可以写成：
var a:int=3;
if (a&#62;0&#38;&#38;(trace(&#8220;a is positive number&#8221;),a&#38;1))
trace(&#8220;a is positive odd number&#8221;);
//这个我想应该很多人都会写，多重IF的简写，&#38;&#38;左边的语句返回true时才执行右边的。
7、把：
var a:int=13;
var [...]]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/41.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>AS3一些不太常见的代码写法（一）</title>
		<link>http://www.moondyzone.com/as3/39.html</link>
		<comments>http://www.moondyzone.com/as3/39.html#comments</comments>
		<pubDate>Tue, 30 Dec 2008 06:17:19 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=39</guid>
		<description><![CDATA[今天收集来了一些高手们的代码写法，可以看成是某些语法的简写，但除此之外，还包含了高手们强悍的思想。我先把代码帖出来，稍后再把代码的解释发出来。

1、
mc.gotoAndPlay(Math.random()*10&#62;&#62;0);
2、
if(i&#38;1){}
3、
for (var i:int=0; i&#60;10; a.push(i++));
4、
var temp:Number=mouseX;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
function moveHandler(e:MouseEvent):void {
var d:Number=(-temp+(temp=mouseX));
}
5、
function fn1 () {
trace(&#8220;1&#8243;);
}
function fn2 () {
trace(&#8220;2&#8243;);
}
([fn1,fn2][Math.random()*2&#62;&#62;0])();
6、
var a:int=3;
if (a&#62;0&#38;&#38;(trace(&#8220;a is positive number&#8221;),a&#38;1))
  trace(&#8220;a is positive odd  number&#8221;);
7、
var a:int=13;
var b:int=-12;
if((a^b)&#62;0&#124;&#124;(b*=-1,a&#62;10))
trace(b);
相关文章简明的拼图游戏教程一个拼图游戏的DEMOAS3中JSON的基本应用实例一个仿FLASH自带的取色器收集整理了一些AS3中常用到的公式最近在研究PV3D了——360度全景图]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/39.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>介绍几本学习ActionScript3的好书</title>
		<link>http://www.moondyzone.com/as3/28.html</link>
		<comments>http://www.moondyzone.com/as3/28.html#comments</comments>
		<pubDate>Sun, 28 Dec 2008 08:41:55 +0000</pubDate>
		<dc:creator>Moondy</dc:creator>
				<category><![CDATA[Flash/AS3]]></category>
		<category><![CDATA[cookbook]]></category>
		<category><![CDATA[殿堂之路]]></category>

		<guid isPermaLink="false">http://www.moondyzone.com/?p=28</guid>
		<description><![CDATA[我想大多数的程序员都应该跟我一样是自学的吧，AS3在国内兴起也不久，更没有什么好地方可以教的。所以，自学嘛，自然少不了好的书籍啦。
1、Flash ActionScript3 殿堂之路。

黑羽大哥的书，没啥好说的，至少目前有很大一部分学AS3的朋友都是被这本书带进门来的，本民工也不例外。这本书适合初学者，对基础知识讲解得非常到位，这本书对于理论讲解比较多而实例比较少，对于初学者来说很可能看了一大半了却觉得自己好像还什么也做不出来，这时不用着急，当你回过头再读一遍的时候，又会领悟很多东西。建议有心想学AS3的可以买一本来，在这里就不发电子版了（其实也没得发，此书在网上没有电子版）。
2、ActionScript3.0 CookBook 。

此书可以说跟殿堂之路正好相反，没有长篇大论的理论讲解，有的只是一个个完整的实例。喜欢通过实例来学习的朋友肯定会觉得很容易上手，本民工也是很喜欢Cookbook类型的。不过此书的实例大多都是比较基础简单的，但同样也适合当做一本AS3工具书常备手边。
3、FLash ActionScript3.0 动画教程。

这本书比较适合有点基础的朋友进阶用。本民工推荐这本书的原因之一也是因为此书的翻译比较到位，其实也有不少优秀的国外教程的，但是可惜翻译大都比烂，像本民工这种E文水平实在是……而且此书让我把抛弃了多年的数学跟物理又给复习了一遍，让我深有体会，原来当年数学跟物理还是很有用的呀。
相关文章简明的拼图游戏教程一个拼图游戏的DEMOAS3中JSON的基本应用实例一个仿FLASH自带的取色器收集整理了一些AS3中常用到的公式最近在研究PV3D了——360度全景图]]></description>
		<wfw:commentRss>http://www.moondyzone.com/as3/28.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

