[AS3]AS3.0/AS2.0/Flex/Air介绍与区别说明
??
http://www.89525.net/player/PlayerCodeAs/2012/0828342.html 很多人可能到现在还搞不懂Actionscript(3.0/2.0) / .as / .mxml / .swf / .air 首先,先了解这三样(flash / flex / air)到底是 为何而战,为谁而战? … 写Code的原因是为了达成某种目的,就Actionscript而言,原本的目的只是制做出 .swf 文件,然后embed在html里面,显示声光互动的效果,这效果可以拿来作广告,做艺术,做简报,做 game,做互动卡通,做非线性故事,做笑料,等等。 如果光看成品的格式,Flash/Flex都是.swf,想的简单一点,.swf不一定是要由flash做出来,Adobe illustrator,也可以做出没有互动的swf文件,也就是说做 swf文件的方式有很多种,就像能制造出 jpg 图像的软件也很多,只是功能强不强大跟速度快不快而已。 我个人浅见一切的根本还是在Flash, 用 Flash可以做出最多种东西,不只是 .swf,也可以包着图形作成可以重复应用的 component(.swc). 而Flex,就是把很多Flash做出来的可以光利用文字 customize, reuse 的 component 用很类似XML(xhtml)的 mxml 语法写出来,在另外加上典型的 Actionscript 让每个componet之间互动,或者是一些 .as 的物件,来达到RIA(Rich Internet Application)的功能,所以 Flash 跟 Flex 都是输出 .swf 然后,用 Flash Player 跑的,我认为两个差不多,只是 Flex 开发非常快速,因为很多 UI(User Interface) component 都做好了。 AS2/AS3/FLA -> FLASH( 讲求设计,具有 timeline / vector symbol library ) AS3+MXML+CSS -> FLEX (用 UI component, mxml做位置编排,CSS改变样式,非常适合快速程序开发 ) AS3 / MXML + AJAX + SQLite + Desktop Interaction -> AIR( 包含所有Flex/Flash,加上跟桌面整合的功能 ) 制作 Flex / Flash / Air 分作三个过程: source code developing -> compile -> play it using player。 这三种不同的产品都有基于一些相同(actionscript)及不同(classes and component)的方式制作,用到的compiler跟editor也不太一样。 1. 怎么写? 基本上除非你要写在 .fla 里面贴在视觉物件上的 code (这不是很好的方法), 用一般的文字处理软件像是(Editplus, 记事本)就可以开始写 Actionscript。 由于 AS 是物件导向程序(OOP)为基本,在 Flash IDE 里面的AS Editor 并不是这么好对付这么以文字为基础的逻辑架构,所以可以利用一些别的Editor(专业名称 IDE:Integrated_development_environment)来管理众多的 Classes。 2. 写在哪? ActionScript 是一个 base on ECMAScript 语法的程序语言.目前开发到 3.0.(2.0与3.0语法上有很大的改变,做出来的swf在相容性也有问题) 三种都有不同的写法,最正规的就是写在 .as 文件档里面,其他的会有一些很特殊的方式互相配合。 2.1. *.mxml : Flex / AIR 2.2. *.as/*.fla : Flash / AIR 3. 怎么编码? 要制作 .swf 或是 .air 的档桉你必须把写好的 .fla / .as / .mxml 档桉 compile 成 .swf / .air, 就是把人可以了解的 code (文字) 档转换成电脑 player / runtime 看得懂得 byte code( .swf / .air) 用 .as(flash) .mxml(flex) 写出来的东西要先被 compile 成 .swf / .air 然后可以被 Flash Player (stand alone / browser plugin) / Air (Adobe? AIR? runtime) 拿来执行,所以光是 .as 档桉你看到的就只是一首比文言文还难懂的诗. 虽然都是输出成 .swf/.air,不过输出的 .swf/.air 以及所用到的 compiler 有很多种,用基本的用电脑常识大概也可以知道既然是要读文件后生出另一个文件。不同的软件一定会有分别,像是photoshop不能读 exe档一样, compiler也有complier的差别,有些只吃2.0,输出的 .swf 也可以选择让不同的版本的 player 跑。 这些compiler 比较常见的就是 3.1. Flash CS3 (actionscript 1.0/2.0/3.0,.fla -> .swf / actionscript3.0 ->.air) 3.2. Flex (actionscript 3.0 -> .swf / .air) 3.2.1. 在Flex Builder 里面的 compiler,用这个compiler无法抓到 Flash library里面自动产生的 Class,导致无法compile,不过如果你够强,连画个圆都用 code的话(你有种就画个清明上河图看看),那就没差. Flex Compile出来的东西可以是 .swf / .air 3.2.2.如果你够强,不需要用 IDE ,光用文字编辑器写Code,因为你的超能力, 你可以不花钱而去用免费的 Flex SDK(Software Development Kit),去产生swf文件(例如: mxmlc.exe -library-path+=../lib/bin/assets.swc -coverage src/test.mxml -output bin/Output.swf ) 3.3. AIR SDK(actionscript3.0 -> .air)同2.2,只要你够屌,你就不用花钱. Dreamweaver 也可以编辑+compile 3.4. 以上都是adobe推出的, mtasc 则是 Open Source free compiler,可惜他只能读2.0的Code。 4.怎么跑? .swf(flash / flex), 都是放在网路上,用 flash player 9 就可以跑, AIR则要先在电脑里面先安装 Adobe? AIR? runtime (类似player的东西),然后抓下 .air 安装档,之后像应用程序一样安装。 5.哪个好? Flash / Flex / AIR 哪个好? 5.1. AIR 5.2. Flex 5.3. Flash -> PRO: Flash CS3 具有 Timeline, 还有 vector drawing 的 Tool, 可以做动画,Banner…等. 对于视觉创意人士而言是很好的工具 -> CON: Flash 无法像 Flex 一样可以快速开发 RIA, 也没有像 AIR 一样具有与桌面互动的能力。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |