|
首页 | 名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
一、什么是AcionScript? 随手翻开一本技术类书籍,第一章第一节多半以“What\\'s xxxx”做标题,要学习学相同技术,当然最先要弄清它是什么。用最简朴的一句话定义:AS是一种脚本语言。这句话里有两个要害词: 1.语言:所有的计算机语言都是相通的(包括汇编语言、中级语言、高级语言),这意味着假如你曾经系统的学习过其他的某种计算机语言,那么AS入门将变得异常轻易。 2.脚本:这说明AS是一种解释型语言(或称为脚本语言)。它具备了解释型语言的长处:迅速开发,动态性,学习门槛低等等,同时它也继续了相应的缺点:最主要的两个缺点是效率低下和源代码外露。这也是让当今Flash开发者极为头痛的两个问题,效率低下,意味着Flash无法有效的完成一些复杂的算法(就拿递归来说,Flash中仅答应256层深度的递归)。而源代码外露,则让Flash作者的版权无法得到有效的保护,海内外很多闻名的反编译软件都可以让Flash中的程序代码无处遁形。尽管如此,究竟瑕不掩瑜,Flash AS仍旧是一种简朴易用,功能强盛的脚本语言,高超的AS编程技巧+良好的美工+优秀的创意可以打造出许许多多令人瞠目结舌的作品:绚丽的特效,趣味性极强的的游戏,功能强盛的网络应用程序....然而,这一切都是要从最基础到如变量、函数开始(当然,假如你有编程基础那就另当别论),在雄伟的大厦也是一砖一瓦建设起来的,不是吗?
可能有朋友注重到,刚才谈到Flash的源代码外露的问题时,有这样一句话“很多闻名的反编译软件....”,即曰“解释”,又何以“反编译”?并非是我出尔反尔,Flash AS的的确确是通过解释执行的,而用来解释+执行的工具,就是大名鼎鼎、拥有98%浏览器占有率的Flash Player。然而,在你把源程序放心交给Flash Player去执行之前,必须要经过一个“编译”的过程,它将源代码转变成一种可以被FP识别的标签(tag)。而这些标签被以ZIP方法压缩存储在.swf格式的文件中。当然,一个.swf文件中除了包含AS,还有图形、声音等资源。在“解释”之前先进行“编译”并非是多此一举,编译的好处主要有三个: 1.经过编译后的源代码,以标签(称为“目标代码”)的形式存在,更轻易被Flash Player识别,因而可以提高解释速度。 2.编译过程可以预先检测程序中的语法错误,并给出适当的错误信息,方便调试。 3.编译过程也是代码压缩的过程,编译后的代码更加精简。 这么说来,把AS称为一种纯粹的解释型语言就有失妥当了,我们可以把它归类为一种“混合型”语言。混合型语言的特点是,源代码先经过编译,生成一种“中间代码”,在由相应的平台(Flash Player)去解释执行中间代码。混合型语言中的佼佼者当属现在同样火热的Java语言:Java语言的源代码(.java)经过编译,得到字节码(.class),在由平台(JVM)去解释执行字节码。不幸的是,混合型语言的这种这种“编译”过程通常是可逆的,无论是java还是flash,都可以根据其中间代码,反编译得到源代码。而且,反编译swf的难度要远远低于class,而在编译过程中加密要复杂的多,这也就是为什么如今flash反编译软件横行的原因。 三、学习AS需要不需要有编程基础?假如需要,该去学习那种语言? 这是一个常常听到的问题。我前面曾经提到,假如你有着其他语言的编程基础,学习AS将变成一件异常轻易的事。但假如没有呢?是不是会很困难?答案是否定的。总的来说,AS是一种相对比较简朴的语言,甚至你可以用它来作为你进入编程世界的第一步。假如你有着c/java/js的编程经验,你将会发现AS只是你曾经学习并把握的知识的一个子集,你面对的仅仅是不同的API,仅此而已。然而,假如你的目的只是为了学习AS,那你完全没有必要为了它先去学习其他任何一种语言,这就像你为了弄明白1+1=2,而费尽九牛二虎之力去研究2+2=4相同,本末倒置。你现在所要做的,就是从最基础开始。何谓基础?变量、数据类型、运算符等等都算是基础,学了一段时间编程却仍旧搞不清晰i++与++i的区别的人不在少数。不要小看它们,对基础概念把握的不牢固,可能会为你将来的编程经历造成重大的困扰,正所谓千里之堤,溃于蚁穴。在这个时候,你可能需要一本书来帮助你,笔者极力推荐下面这本书: 看到他的封面,你就知道这本书是由鼎鼎大名的O\\'reilly公司出版。如今,O\\'reilly公司的出版物俨然已成为计算机技术图书的标准,看到了O\\'reilly的标志,就等于看到了质量的保证。 四、免费的就是最好的? 下午文章刚一发表,就收到Flash Coders群里的朋友们的意见,认为我所推荐的书籍《ActionScript权威指南》对于初学者来说,难度有些大了。的确,也许这本书并不完全适合于没有任何编程基础的初学者,我所以推荐这本书的主要原因是,它的讲解足够系统化,按部就班,而且充分利用代码把很多轻易混淆的概念分析的比较透彻,令人印象深刻。就像《Thinking in Java》,我从不认为这本书适合于Java初学者阅读(时至今日,尽管我自认为已经不算是Java初学者,但书中的很多内容我仍旧没有能完全消化掉),但每当有人问我有哪些优秀的Java书籍时,我总是第一个想到它。所以,我们或许可以把《ActionScript权威指南》当作一本复习手册,当你对AS有了一个整体的印象之后,再捧起这本书,你也许会发现许多以往学习中的漏洞,或是一直盘绕在你心头的迷惑骤然解开。然而,毕竟由谁来给你这个“整体的印象”?更为浅显的书籍?入门培训课程?在这里我要说的是“免费的就是最好的”,虽然这句话不适用于每一个角落,但在这里,Flash随带软件附赠的帮助系统绝对可以胜任入门师傅这个角色。很多人小看了软件的帮助系统,认为它们只不过是教你如何安装,如何卸载,这真是一个天大的误会,尤其当你使用的是某种语言的IDE时,这个误会就更加夸张了。仅仅以Flash的帮助系统来说,已经可以称得上是一本Bible。初学者可以从中解决几乎所有的问题。“帮助”的英文是Help,“救命”的英文也是Help,所以,假如你有在论坛发帖喊“救命”的时间,不如去抓住身边这额棵救命稻草。更何况,论坛的帖子可能三天也没有人回复,而帮助系统则是随叫随到。 Flash的帮助系统很好的完成了这些工作。以Flash MX 2004的帮助系统为例,整个系统分成五个部分:Getting started with Flash,Using Flash,ActionScript Reference Guide,ActionScript Dictionary,Using Components,前两部分基本上与ActionScript无关,这里不与考虑。后三部分中,第三和第五部分便是最好的入门指导,第四部分则是一部完整的AS字典,可以随时查阅。对于Flash初学者来说,可以先忽略掉组件(Components)的部分,下面让我们来看看ActionScript Reference Guide:第一章讲了一些废话,第二章也不是为初学者设计,它概述了Flash MX到2004在AS方面的变化,有爱好的朋友可以看一下我的“2004新特性实例教程”。地址: http://www.flashempire.com/school/tutor.php?author=jinni 而接下来的第三章:Flash基础,则是重中之重了。它从最基本的语法讲起,先后涉及了数据类型,变量,函数等方面,在学习这些基础知识的时候需要注重,要理解,不要记忆。假如当你碰到某些问题,需要靠回忆来找到解决问题的办法,则说明你没有能够真正的理解这个问题。如何加深理解?惟有多加训练,不要嫌它们过于简朴,简朴的背后可能蕴含着复杂的理念,即便是一个等号,也值得写上几十行程序来验证它在不同情况下所起的作用。总之,既然是基础,对任何人来说都是相同的,它不是那种需要发挥人类想象力和创造力的上层建筑。因此,实践+总结是学习基础知识的唯一途径。当你对AS基础有了一个较为完整的把握后,就可以向更高级的领域进发了。
1、标识符规则: 2.=与== 3.运算符优先级 4.i++与++i 5.数据类型转变 6.数组
这样做的好处有两个: 一、初学者不会同时面对API与设计理念的困扰。 (很多人问到为什么在Flash MX中执行的好好的程序到了Flash MX 2004中出了问题?这就是你没有注重到AS2.0的语法规范起了变化)。 返回类别: Flash教程 上一教程: flash人物180°转身动作教程 下一教程: Flash视频教程:手形工具 您可以阅读与"初学AS的入门指南"相关的教程: · Flash初学者教程:第一个补间动画 · Flash初学者教程:外形补间动画 · 初学者的FLASH基础教程 · Flash编程入门:物体的自由运动解析 · 给Flash初学者的几点建议 |
快精灵印艺坊 版权所有 | 首页会员中心在线印刷在线编辑付款方式索取样品设计指南连锁门店 |