本章摘要:
数组保存一组相关联的数据,组织和处理这些数据。数组概念在生活中是很常见的,比如菜谱,工资条,班级成绩单等都应用了数组原理。
在flash中存在一组变量后缀名,如果给变量添加上这个后缀名,那么在下次使用这个变量的时候,可以自动出现代码提示。数组的变量后缀名是_arr,MovieClip的后罪名是_mc。(完整的代码后罪名参考)
访问数组元素,通过下标。比如一个数组声明为
var arr1:Array = ["A", "B", "C"];
那么它的第一个元素,就是arr1[0],第二个元素就是arr1[1],第三个元素是arr1[2]。这里一个需要注意的地方是,数组的小标是从0开始的,而不是我们日常使用的1。在这一点上很多老手也会偶尔搞错。因为我们在为舞台上的MC编号时,经常仍旧是使用1开头。
Array.concat()
连接参数,并将其作为新数组返回。
Array.join()
将数组内的所有元素联接为一个字符串。
Array.pop()
删除数组中最后一个元素,并返回该元素的值。
Array.push()
将一个或多个元素添加到数组的结尾,并返回该数组的新长度。
Array.reverse()
倒转数组的方向。
Array.shift()
删除数组中第一个元素,并返回该元素的值。
Array.slice()
提取数组中的一部分,并将该部分作为新数组返回。
Array.sort()
就地对数组进行排序。
Array.sortOn()
基于数组中的某个字段对数组进行排序。
Array.splice()
在数组中添加元素和删除元素。
Array.toString()
返回表示 Array 对象中元素的字符串值。
Array.unshift()
将一个或多个元素添加到数组的开头,并返回该数组的新长度。
第一种方法比较直观,但是当按钮比较多的时候,拖动和排布的琐碎操作也很费事,我们这里采用程序的方式来动态控制。(数组应用-手机菜单-code1.fla)
现在来创建一个数组来存放所有的六个条目,可以像上一章那样直接将六个条目名称放到数组里,也可以像下面这样一步一步创建。
刚才我们创建条目数组的过程,和上一张创建导航栏条目数组的最大区别,是上一张我们的数组元素是条目的名,而这里我们使用的是名字的字符串(有双引号),它们有什么不同呢?
使用名称字符串做元素,那么它就是字符串,通过字符串是不能直接访问MC的,我们必须把这个字符串转换成MC的引用(也就是我们说的MC名),如何转换呢?在AS1/2中,我们使用“[]”,比如主时间轴舞台上有一个MC名为mc1,那么通过_root.mc1或_root[“mc1”]都是可以访问到它。在这里[]的作用大致可以描述为将字符串转换为引用。
虽然我们已经在舞台上显示出来六个条目,但是条目上面都是空白的,虽然我们建立了条目显示名称的数组,但是这个数组还并未和我们的六个条目联系起来。
Array.push() -- 将一个或多个元素添加到数组的结尾,并返回该数组的新长度。我们添加下面这段代码:
数组的知识很重要,应用广泛作用巨大。我们需要将这个知识点掌握好。请大家认真地参照着本书的源文件,一步一步地实验,并输出查看效果,在一些不太明白的地方,多用trace,看看输出。在未来我们还会讲一些调试的方法,到时候用调试结合trace,大家可以更深入地了解这些方法的运作原理和作用。
全文pdf阅读: Flash程序设计》第四章、Flash数组的应用.pdf
鬼火博客地址:http://www.birdpig.com/
本书发布网站:http://birdpig1.blogspot.com/
写作进度关注:http://www.birdpig.com/post/flash-program-beta.html
[作者:鬼火,来源:http://www.birdpig.com/,转载须保留本行及链接]
2008年8月13日星期三
《Flash程序设计》第四章、Flash数组的应用
2008年8月10日星期日
《Flash程序设计》第三章、制作一个简单的Flash菜单
本章摘录:
Actionscript 目前的最新版本是3.0,是Flash Player专有的脚本语言,简称AS。我们常见的使用AS的软件是Flash 和 Flex,另外还有Flash lite以及Macromedia自己的后台语言ColdFusion,后面两种的应用都比较窄。3.0已经基本具备所有的面向对象的语法特征。但是对于一般性的应用来说,as2已经完全足够使用,最关键的一点是,对于动画师来说,as2足够简单,可以让他们也能轻松编程。
本教程全部采用actionscript2.0讲解,actionscript 2.0 中文帮助文档下载地址:点击这里
在本章,我们要学习制作一个简单的导航菜单,这个导航菜单是一个项目中的一部分,而且它在我们日常的网络应用中会经常出现。
做任何一个flash项目之前,都应该自习考虑好它的结构,这个要求也适合其它的项目,无论大小。那么我们现在来考虑一下这个菜单的结构,如果你还没有一个大概的认识,请多使用几次“简单导航菜单.swf”再继续后面的内容。
观察可知,按钮上面不同的部分在于左下角的文字不同、按钮上的主要文字不同、点击后链接的网页不同。其它的内容都一模一样,所以我们可以设计一个MC,这个MC顶层有一个透明的按钮,它可以获得鼠标经过、离开、点击的事件,而MC的其它层则放置深绿色背景的落下和弹起的动画。几个不同的部分使用程序来控制。
接下来就是搭建导航菜单了,将背景图片、灰色条、四个按钮都放置到相应的位置,并给它们添加动画。需要注意的一点是,灰色条、背景图片等并不需要程序控制的元件,创建成sprite更合适,而非movieclip。给舞台上的四个按钮分别命名为”btu1”、 ”btu2”、 ”btu3”、 ”btu4”。
这里最关键的,其实是一个变量link的应用。我们用这个变量来存放已经被按下的按钮的编号,然后在鼠标移动过程中,让每个条目的编号与这个link比较,已确认当前条目是否就是已经按下的条目。
本章我们通过一步一步的丰实,制作了一个简单的导航菜单,这个导航菜单的制作中,我们接触了许多flash编程常用的知识点,如按钮事件、电影夹子(MC)、数组、for循环、if判断等,在将来的课程中我们将逐步展开来讲解。
本章的作业,
1、让条目中剩余的一个文字MC也因条目的不同而不同(即现在只能显示About Us的MC)
2、你能自行在这个例子基础上做一些小修改吗?比如将条目增加为5个。
3、自行查阅一些数组(Array)的知识,了解按钮(Button)事件。
全文pdf阅读: 《Flash程序设计》第三章、制作一个简单的Flash菜单.pdf
鬼火博客地址:http://www.birdpig.com
本书发布网站:http://birdpig1.blogspot.com
写作进度关注:http://www.birdpig.com/post/flash-program-beta.html
[作者:鬼火,来源:http://www.birdpig.com,转载须保留本行及链接]
《Flash程序设计》第二章、Flash应用基础
本章摘录:
本书假定你对flash只有粗略的影响,所以专劈一章来介绍flash软件。通过本节的学习,你将掌握flash cs3版本软件的基本使用,当然,我的讲解讲偏重于程序设计的方面,如果你想了解flash动画设计方面的使用方法和技巧,请寻找相应的书籍,因为这并不是本书的写作目的。我们将利用flash来绘制一个简易计算器的界面,并且在这个计算器上我们可以制作显示一些数字。
本节内容:
1、 创建一个flash文档
2、 绘制简易计算器界面
3、 给计算器添加动态文本和按钮
4、 发布flash的swf文件
5、 创建一个flash项目
作为Flash开发者,在打开Flash之前就应该确定你的这个文档是准备用于何种用途,动画、演示文稿、as文档,还是其它。一般地(在本书中或实际应用中),无论是制作flash动画,还是flash交互程序或游戏,我们选择创建flash文件。当然,你打开flash后,会发现有actionscript 3.0 和actionscript 2.0 两种flash文件供创建。
选择工具是用来选择舞台元素的;
部分选择工具用来精细选择,单击后可以选择舞台元素的边缘关键点,这个工具不太常用;
任意变形工具用于放缩、旋转等操作;
套索工具用来自定义任意形状的选择;
钢笔工具用于关键点绘制、曲线绘制;
文字工具用于创建静态文本、动态文本、输入文本;
直线工具用于绘制直线;
矩形工具(包括其中的椭圆工具等)用于绘制几何图形;
铅笔工具用于画线;
笔刷工具用于画粗线,如果安装了绘图板,可以画一些特殊线条;
墨水瓶工具用于更改线条的颜色;
油漆桶工具用于更改填充色;
吸管工具用于汲取颜色;
橡皮擦子工具用于擦除;
在这个简单的实例里,你会用到一些简单的变量,事件。作为编程的门外汉,你在学习flash actionscript 编程之前,是可以完全抛弃一向对编程的恐惧的,因为,它很简单,而且很亲切。
首先,我们绘制计算器面板,舞台大小400*400,上面放置了几个静态文本,还有 price、amount、total三个动态文本,分别对应 单价、数量、总计。另外还有 author 动态文本,用于放置作者名。
OK,现在请按F9,弹出“动作”面板,如果你使用的是英文版的话,叫action。在此约定,后面的所有实例都以中文版为基础讲解,除非特例。
在flash选项单里,我们会看到许多子选项,其中最重要的是actionscript 版本。我们可以设置actionscript 1.0、actionscript 2.0、actionscript 3.0三种。本书基本使用3.0(但我有些怀疑使用3.0学生是否听得明白,要讲好3.0,就必须先讲面向对象,这并不简单)。1.0和2.0是flash8及之前的flash使用的,3.0为flash cs3使用。Flash player的版本可以选择1~9,但是不推荐用flash cs3来开发flash player8及更下的版本。如果要开发更低版本的文件,请使用对应的flash版本。(比如flash player7文件,应使用flash 7 ,也就是flash 2004),因为如果版本不对应,生成的swf文件很容易出错。
全文pdf阅读: 《Flash程序设计》第二章、Flash应用基础.pdf
鬼火博客地址:http://www.birdpig.com/
本书发布网站:http://birdpig1.blogspot.com/
写作进度关注:http://www.birdpig.com/post/flash-program-beta.html
[作者:鬼火,来源:http://www.birdpig.com,转载须保留本行及链接]
《Flash程序设计》第一章、概述
本章摘录:
编程语言是用于编写计算机程序指令的人工语言。计算机不具备联想能力,所以自然语言(如中文、英文)等不适合计算机直接编程,因此人类创造了编程语言。编程语言具有特定的词汇、语法和结构,每种不同的编程语言都必须具备简单的逻辑结构和精确的语法。
Flash 诞生于1996年,由Jonathan Gay 主持开发。Flash最早期的版本称为Future Splash Animator,主要应用于动画制作领域,Microsoft和Disney是其最大的两个客户。
2000年8月Macromedia 推出了Flash5.0。Flash 5.0中的ActionScript取得长足的进步,开始对XML和Smart Clip(智能影片剪辑)支持。ActionScript的语法已经开始定位为发展成为一种完整的面向对象的语言,并且遵循ECMAScript的标准,就像javascript那样,所以两种语言会有很大程度的相似,尤其是actionscript 1.0。
2007年,Adobe 推出了Flash CS3(又称flash9)。该版本最大的改变,在于推出了Actionscript 3.0版的脚本语言。该版本语言摒弃了actionscript 1.0 和 actionscript 2.0 中许多非面向对象的特性。开始支持真正意义上
目前flash的最新稳定版本是flash cs3,在2008年3月adobe又推出了flash cs4的英文预览版。Flash cs4的改进包括:增加IK运动、部分3D支持,启用新的输出文件格式—XSL等。
目前flash有三个最流行的应用方向,其一,为矢量动画制作,由于flash基于矢量图形的特性,使得采用flash设计出来的动画体积小,非常适合网络传播,所以目前大多数的网络动画片都采用flash来设计,著名的有韩国的《流氓兔》,国内的有《大话三国》、《神经学园》等;其二,是FLV视频流媒体,这是目前互联网视频网站的主流格式,包括YouTube、Youku等国外国内著名视频网站都采用这种格式;其三,是多媒体方向的应用,比如课件、互动网站等,目前flash已经取代authorware成为制作课件的主流软件,与微软的Powerpoint并驾齐驱,分别为交互性课件与简易性课件的主要制作软件。
全文pdf阅读: 《Flash程序设计》第一章、概述.pdf
鬼火博客地址:http://www.birdpig.com/
本书发布网站:http://birdpig1.blogspot.com/
写作进度关注:http://www.birdpig.com/post/flash-program-beta.html
[作者:鬼火,来源:http://www.birdpig.com,转载须保留本行及链接]