从零开始,编程之路 ⚡️

新手引导

~ 你想学习 Flash 技术,那么该从哪里开始? ~

我们将默认你是从零开始的新手,
一步一步的引导你走上 Flash 编程之路。

火种
前言

  通过之前的“Flash 技术介绍”,相信已经对Flash技术的两大领域(动画和编程)有所了解。

  下面我们分别介绍这两部分的基础知识,这些基础知识只是做一些前期的概念铺垫,以及告诉大家要学习和掌握的重点内容,避免大家走太多弯路。

  具体的学习可以自己去“资料库”中寻找对应的教程文件,自主学习。

Flash软件的版本、下载、安装

  欲善其事,必先利其器。
  这里介绍一下Flash软件的版本、下载和安装。

软件版本

  Flash经过三十多年的发展,有众多版本可供选择,我们这里推荐的版本是:
  Adobe Flash CS6 Professional(2012年发布),这是CS系列的最后一个版本,也是非常好的一个版本,我们一直在使用。
  Adobe Animate CC 2017-2023,CC系列除了2015版本不推荐之外,其他版本都是不错的,我们自己使用的是CC2018

  我们“资料库”中的教程,往往使用较旧的版本进行录制的,但是最基本的核心功能,其实Flash 8之后基本都没有太多变化了。
  所以大家不用太过担心版本,我们推荐的CS6、CC2018,这两个都是兼容性很强的版本。

软件下载

  如果你的经济实力允许,我们推荐去官方下载:https://www.adobe.com/
  当然网上还有一些网友提供的版本,可以B站搜一下,也有很多下载和安装的视频哦。
  我们这里不直接提供下载,相信大家有办法下载到自己需要的软件。

软件安装

  安装本身没什么说的,网上教程很多。
  我们这里唯一要说的是,如果安装和使用过程中遇到问题,安装不了或者突然无法使用。
  这个时候可以去百度或豆包、千问等搜一下,其实基本上都是有对应的解决方案的。
  如果实在搞不定,也可以问问朋友、同学、老师或者加一下我们的技术交流群,办法总比困难多。

Flash动画

  其实做二维动画的软件Flash并不是唯一的,但可以做动画+编程的软件,Flash是独一份。
  如果你只是想学习如何做动画,那么Flash可以作为入门软件,后续想深入,你还需要接触更多其他软件。
  如果你是对Flash编程感兴趣,那么先学习一些Flash动画基础,对于后续的编程是有不少好处的。

界面认知

  Flash软件本质上就是我们制作动画和编写程序的工具,我们首先要认识这个工具,看看它长什么样子,都有哪些部分组成的,也就是界面认知。

  舞台:就是你画画、做动画的整张画布,好比现实里的画纸。

  · 所有人物、图案、文字都摆在这里,最后播放动画,观众看到的也是这块区域。
  · 画布外面灰色的地方可以临时放东西,导出动画时这些内容不会出现。
  · 举个例子:你画一个小人走路,小人就放在舞台中间。

  菜单栏:软件最顶上那一长条文字(文件、编辑、视图…),相当于总菜单大全,软件大部分功能都藏在这里。

  · 文件:新建画布、保存作品、把图片 / 音乐导入进来,做完动画导出成视频 / GIF。
  · 控制:播放、暂停动画,测试你做的效果(最常用)。
  · 窗口:不小心把右侧面板弄没了,就在这里重新调出来。
  · 举个例子:做完动画想保存,就点左上角「文件」→「保存」。

  工具栏:软件左边一整排小图标,就是画画和改图的工具,类似现实里的画笔、橡皮、尺子。

  · 黑色箭头:点选、挪动画面里的图案,最常用。
  · 铅笔 / 刷子:直接在画布上画画、涂色。
  · 橡皮:擦掉画错的地方。
  · 缩放工具:把画布放大,方便画细节。
  · 举个例子:想画一朵小花,就选铅笔工具,在舞台上直接画。

  时间轴面板:动画的灵魂开关,一般在舞台上方,用来控制画面怎么动、动多久。

  · 左边图层区:相当于一叠透明塑料纸。
   不同内容分开放,比如一张纸画背景、一张纸画人物、一张纸写字,改人物的时候不会碰坏背景。还能把某张纸锁住,防止不小心画错。
  · 右边帧区域:像电影胶片,一格就是一帧(一张画面)。
   关键帧:画面发生变化的格子,比如小人抬脚、落脚,都要插关键帧。
   红色竖线:播放头,它走到哪一格,舞台就显示哪一格画面。
   底部还有播放、暂停按钮,点一下就能看动画效果。
  · 举个例子:小人走路一共 20 格画面,就在对应格子里画好不同动作,拖动播放头就能看到走路效果。

  属性面板:一般在软件右侧,选中什么,就显示什么的设置项,实时改样子。

  · 选中空白画布:可以改画布大小、背景颜色、动画播放速度。
  · 选中画好的线条:调线条粗细、颜色。
  · 选中小人图案:改大小、调透明度、加模糊效果。
  · 举个例子:觉得小人颜色太浅,选中小人,在属性面板里把颜色调深就行。

  库面板:也在右侧,相当于你的素材收纳箱。

  · 画好的人物、图片、音效、做好的小动画,全都存在这里。
  · 里面的素材可以反复拿出来用:收纳箱里的小人,拖到画布上能复制出好多个。
  · 只要修改收纳箱里原素材,画布上所有同款图案都会一起变,不用一个个改。
  · 举个例子:你画了一个卡通头像存在库里,做视频时反复拖到舞台上用,省事又高效。

简单梳理下使用顺序:
  打开软件 → 在舞台上画画(用工具栏) → 靠时间轴做出动作 → 用属性面板调整样式 → 常用素材放进库里备用 → 全部操作、保存导出都看顶部菜单栏。
  其实我们这里只是介绍了最重要的界面,但是对于新手来说,能通过学习一步步认知这些界面就足够了。
  后续再自己进行一些练习,自然会得心应手,其他有用的功能也会在自己不断地探索中,慢慢所熟知。

基础绘图

  这里介绍一下Flash主要的绘图相关的功能。

  基础绘图工具:就当成手里的画笔、尺子、橡皮,日常画画全靠它们,挑最常用的讲。

  · 铅笔工具:最简单的手绘笔,像拿普通铅笔在纸上乱画,画线条、勾轮廓都能用。举例:随手画个圆形脸蛋、小人的身体轮廓,选它直接在舞台上画就行。
  · 刷子工具:相当于水彩笔,主要用来涂色,画大面积色块特别方便。举例:给画好的小人衣服填上红色,就选刷子来回涂抹。
  · 矩形/椭圆工具:一键画标准形状,不用手慢慢描。矩形画方框、房子、手机;椭圆画圆、脑袋、太阳。举例:想画个太阳,选椭圆工具,按住鼠标一拖,正圆就出来了。
  · 橡皮擦工具:改错专用,画歪、画多了,直接擦掉就行。但其实在Flash中,橡皮擦基本不太用,因为选择工具选择后可以直接删除(这样更方便)。
  · 任意变形工具:改大小、转方向必备。选中图案后用它,四周会出现小方块。举例:画好一个苹果,觉得太大,拖动边角方块缩小;想让苹果歪一点,就拖动边角旋转。

  笔触 和 填充:简单理解,线条 = 笔触,里面的颜色 = 填充,两个是一对组合。

  · 笔触:就是物体的外轮廓线条,比如圆圈的边线、方形的边框。可以改线条的颜色、粗细、样式(实线 / 虚线)。举例:画一个圆圈,黑色细细的边线,这就是笔触;把线条改成蓝色、变粗一倍,轮廓就跟着变。
  · 填充:就是轮廓内部的底色,轮廓围起来的空白区域,填什么颜色就是什么填充。举例:刚才的圆圈,边线是黑色笔触,圈内涂上黄色,黄色就是填充色。

  颜色面板:专门调颜色的 “调色盘”,一般在软件右侧,想换啥颜色都在这里选。

  · 分两个核心选择框:笔触颜色、填充颜色,对应上面说的线条和色块。
  · 点笔触色块:选颜色,改轮廓线的颜色
  · 点填充色块:选颜色,改内部底色
  · 还能选渐变颜色(从红慢慢过渡到黄)、吸取画面上已有的颜色。
  · 举例:你画了一朵花,想把花瓣边线改成粉色、花瓣内部改成浅紫色。
  · 打开颜色面板,先选笔触色为粉色,再选填充色为浅紫色,直接涂上去就完成。
  · 额外小工具:滴管工具(工具栏里)
  · 相当于 “吸色笔”,看到画面里喜欢的颜色,用滴管点一下,就能直接取用这个颜色,不用自己慢慢调。

  变形、排列、对齐:当画面里有好几个图案时,用来规整位置、统一样式,避免乱糟糟。

  · 变形:除了刚才说的放大缩小、旋转,还能把图案压扁、拉长、斜着扭曲。举例:画一个正方形,用变形工具把它拉扁,就变成扁扁的地砖样子。
  · 排列 & 对齐:舞台上多个图案,想摆得整整齐齐,就用这个功能。
   · 对齐:让多个物体左对齐、右对齐、居中对齐、上下对齐。举例:画了 3 个大小一样的小圆球,歪歪扭扭散在各处。全选它们,点水平居中对齐,三个球就会排成一条笔直的横线。
   · 分布:让物体之间的空隙距离一模一样。举例:5 个小方块,间距忽大忽小,用分布功能,它们之间的空隙就变得完全相等。
   · 层级排列:调整前后遮挡关系,谁在上面、谁在下面。举例:画了一个小人,又画了一朵云。云挡住了小人,选中云朵,设置移到最后面,小人就露出来了。

  组合 和 取消组合:这是新手必学的小技巧,用来 “打包” 图案。

  · 1. 组合(打包)
  · 把多个零散的线条、色块拼成一整个整体。
  · 操作:用黑色箭头框选所有要打包的内容,顶部菜单 → 修改 → 组合(快捷键 Ctrl+G)。
  · 举例:你用线条 + 色块画了一只小猫,里面有头、身体、四肢好多部分。不组合的话,一不小心就会单独挪走小猫的耳朵、尾巴。全选小猫所有部分,执行组合,整只猫就变成一个整体,拖动的时候整个一起动,不会散架。
  · 2. 取消组合(拆包)
  · 把打包好的整体,重新拆成零散的部分,方便单独修改细节。
  · 操作:选中组合好的图案 → 修改 → 取消组合(快捷键 Ctrl+Shift+G)。
  · 举例:如果有好几个小猫组合在一起,后续想每个小猫放在不同的位置,先取消组合,几个小猫就独立出来了,可以各自移动和拥有各自的上下层级关系。

简单总结使用流程:
  1. 用绘图工具在舞台画出各种图案;
  2. 在颜色面板选好笔触(线条)和填充(色块)的颜色;
  3. 多个图案用变形、对齐摆整齐、调位置;
  4. 画好的零散图形,用组合打包防散乱,需要改细节就取消组合拆开来。

基础动画

  这里介绍一下Flash基本的动画制作。

  时间轴(动画的核心控制器):时间轴在舞台上方,所有动画快慢、先后、分层全靠它管,分为图层和帧两部分。

  · 1. 图层
  · 理解成一叠透明塑料纸,一张纸只放一类内容。
  · 作用:元素互不干扰,改一样东西不会弄坏其他画面。
  · 常用小按钮:眼睛 = 暂时隐藏这一层;小锁 = 锁住图层,防止误画、误移动。
  · 2. 帧
  · 把帧想象成动画片里一张张连续的画片,一帧 = 一张静止画面,连续播放就成动画。
  · 三种最常用帧:普通帧、关键帧、空白关键帧。
  · 普通帧:延长画面,让当前画面多停留一会儿。例子:背景不用动,在背景图层往后多插几十格普通帧,画面就一直显示背景。
  · 关键帧:画面 / 动作发生变化的 “关键点”,必须在这里插帧。例子:小人第 1 帧站着,第 10 帧抬手,这两个位置都要插关键帧。
  · 空白关键帧:这一格画面清空,什么都没有。例子:做文字消失效果,在对应位置插空白关键帧,文字瞬间不见。
  · 额外:红色竖线是播放头,它走到哪一帧,舞台就显示哪一帧画面。

  元件(可反复复用的 “素材模板”):画好的图片、小动画存进元件,放到右侧库里,能无限次拖拽使用,改一次全部同步更新。重点讲最常用两种:

  · 1. 图形元件
  · 适合静态图片、简单循环小动作,会跟着主时间轴一起播放、停止。
  · 特点:结构简单,不能单独加声音。
  · 例子:画一个小花朵,转成图形元件。舞台上可以拖出十几朵花;后期把库里原花朵改成红色,舞台上所有花朵会一起变色。也可以用它做简单的左右摇摆动作。
  · 2. 影片剪辑
  · 相当于动画里套着的小动画,自带独立时间轴。
  · 特点:就算主画面停下,它内部动画照样播放,还能添加音效。
  · 例子:把 “小鸟扇翅膀” 做成影片剪辑。把小鸟放在静止的天空背景里,整个画面不动,小鸟依旧不停扇翅膀飞。闪烁的灯光、跳动的爱心,都用它来做。
  · 简单区分:只放图片 / 简单动作 → 图形元件;要做独立不停歇的小动画 → 影片剪辑。

  四种基础动画类型:Flash中经常使用的动画类型有四种,逐帧动画、补间动画、引导动画、遮罩动画。

  · 1. 逐帧动画
  · 一帧一帧手动画画,每一格画面都不一样,像手翻书。
  · 优点:动作最自然灵活;缺点:耗时,需要逐张绘制。
  · 例子:做人物走路:第 1 帧抬脚、第 2 帧迈步、第 3 帧落脚…… 一帧帧画完,播放就是流畅的走路动画。人物表情、手势、表情变化,基本都用逐帧。
  · 2. 补间动画(软件自动生成中间画面,新手首选)
  · 只画开头、结尾两个关键画面,中间过程软件自动补齐,省时省力。分两类:
  · (1)传统补间:针对元件、组合好的图形,用来做移动、缩放、旋转、变淡。例子:第 1 帧把小球放在舞台左边(关键帧),第 20 帧把小球移到右边(关键帧),创建传统补间,小球会自动从左匀速滚到右。
  · (2)形状补间:针对打散的手绘图形,用来做外形变化。例子:第 1 帧画一个圆形,第 20 帧画一个方形,创建形状补间,圆会慢慢变形变成方块。
  · 3. 引导动画(让物体沿着指定路线移动)
  · 正常补间只能走直线,引导动画可以画弯弯绕绕的路线,让物体跟着路线走。
  · 原理:单独建一层画路线(引导线),物体绑定路线;最终导出视频时,这条引导线不会显示。
  · 例子:画一条弯曲的弧线,让蝴蝶沿着弧线飞,蝴蝶就会拐弯、盘旋飞行;也能做落叶飘落、小鱼游水效果。
  · 4. 遮罩动画(只显示指定区域,类似 “小孔透视”)
  · 两层搭配使用:
  · 上层:遮罩层(相当于 “挡板 + 小孔”),只有小孔位置能透出画面;
  · 下层:被遮罩层(真正要展示的内容)。
  · 例子 1(探照灯):下层放夜景图片,上层画一个圆形当灯孔。让圆形左右移动,画面就像探照灯扫来扫去,只有圆圈里能看到景色。
  · 例子 2(滚动字幕):画一个固定方框当遮罩,方框内的文字左右移动,框外文字全部隐藏,做出影视滚动字幕。

  滤镜(给画面加特效,一键美化):选中元件后,在右侧属性面板添加滤镜,不用重新画图,快速做出立体、发光、模糊等效果,常用 4 种:

  · 1. 投影
  · 给图案加上影子,增加立体感。例子:给按钮、卡通文字加投影,看起来像 “浮” 在背景上,不再单调扁平。
  · 2. 模糊
  · 让画面变朦胧、虚化。例子:远处的云朵、快速飞过的飞鸟加上模糊,模拟远景、动态拖影效果。
  · 3. 发光
  · 在图案外围加上一圈亮光。例子:夜晚的路灯、魔法球、霓虹灯,加上发光滤镜,边缘会出现光晕。
  · 4. 斜角
  · 做出浮雕、凸起的立体效果。例子:普通平面文字加上斜角,文字会变厚,像实体标牌一样。

简易使用流程总结:
  · 新建图层分层画背景、人物、装饰;
  · 在帧上插关键帧,定下动作起止点;
  · 重复使用的画面 / 动画,转为元件存入库中;
  · 根据需求做:逐帧手绘 / 补间移动变形 / 引导路线运动 / 遮罩透视效果;
  · 最后给元件添加滤镜,美化画面、增加质感。

素材处理

  Flash中常常会用到已经制作好的图片、音频、视频来搭配使用,最终完成一个作品,那么下面就介绍一下如何使用这些外部制作的素材吧。

  图片素材(JPG/PNG/GIF):Flash中支持的图片格式为jpg(jpeg)、png、gif,下面说说具体的操作吧。

  · 1. 怎么导入
  · 两种常用方式:
  · 直接到舞台:菜单 → 文件 → 导入 → 导入到舞台。
  · 直接把图片文件从文件夹拖进 Flash 窗口,也能导入。
  · 2. 怎么用
  · 图片拖到舞台,可随意放大缩小、移动位置。
  · 3. GIF
  · GIF图片在导入Flash的时候会变成一个多帧的连续动画,通常我们会做一个图形或影片剪辑元件,将GIF导入其中,作为一个独立的动画元件进行使用。

  音频素材(MP3/WAV):Flash中支持的音频格式为:mp3、wav,下面说说具体的操作吧。

  · 1. 怎么导入
  · 和图片一样,文件 → 导入 → 导入到库(推荐)。
  · 最常用 MP3,实际项目中常常会有MP3无法导入的情况,这种通常是 MP3 的比特率太高导致的,Flash中标准的比特率应该是128 kbps。
  · 2. 怎么用(重点:声音要绑在帧上)
  · 新建一个图层叫 “声音”。
  · 把库里的声音拖到舞台,这一层帧上会出现蓝色声波条。
  · 想让声音只播一段:在后面插普通帧,拖长声波条即可。
  · 3. 常用设置(属性面板)
  · 同步-事件:点按钮才播放,常用在按钮音效。
  · 同步-数据流:声音和动画严格同步(做 MV、朗诵必选)。
  · 循环:勾选后背景音乐无限重复。

  视频素材(FLV):Flash中支持的视频格式为:mp4,下面说说具体的操作吧。

  · 1. 先说格式:为什么是 FLV?
  · FLV流媒体格式是随着Flash MX的推出发展而来的视频格式,简单来说就是量身定做的。
  · 2. 怎么导入 FLV
  · 文件 → 导入 → 导入视频。
  · 浏览选中 .flv 文件,向导里选:嵌入视频到时间轴(新手最省事)。
  · 完成后,视频直接显示在舞台,时间轴上自动铺满帧。
  · 3. 怎么用
  · 视频在舞台上可以缩放、移动、加遮罩 / 滤镜。
  · 想让视频只播一次:后面不要加帧,播完自动停。
  · 想循环:在后面插普通帧,延长播放时间。
  · 4. 其他视频(MP4/AVI)怎么办?
  · 用视频转换工具(如:格式工厂)转成 FLV(H.263+MP3),再导入 Flash。

  库面板:所有素材的 “仓库”,图片、声音、视频、元件,全在库里存着。

  · 改库里的素材,舞台上所有引用自动更新。
  · 根据我们的实际使用经验,越是需要做很久,经常维护,持续制作的,库就越重要。
  · 越是一次性的,临时的,频繁修改的,库就不重要。
  · 一开始可以轻度使用库,只有真正需要频繁维护的时候,再去重视库,这是比较合理的时间分配。

实战练习

  如果学习完成了上面的知识,那么后续要做的就是多加练习,实战练习,否则何必辛苦去学习呢?

Flash编程

  其实做二维动画的软件Flash并不是唯一的,但可以做动画+编程的软件,Flash是独一份。
  如果你只是想学习如何做动画,那么Flash可以作为入门软件,后续想深入,你还需要接触更多其他软件。
  如果你是对Flash编程感兴趣,那么先学习一些Flash动画基础,对于后续的编程是有不少好处的。

引子

  当我们对于Flash动画有了基本的熟悉,软件也有所了了解,基本的功能有了一定的练习,基本有所掌握之后,就可以学习Flash编程了。
  其实呢,Flash编程和其他的专业编程还是有很多区别的,我们觉得最大的区别是,通常其他编程人员自己并不会绘制图像、制作动画、设计界面、编辑声音、编辑视频、策划文档等等,而一个Flash动画师通常这些都是有所接触的。
  但是话归正题,如果你要学习Flash编程,并且有所深入,那么还是应该以较为专业的角度去系统的学习,我们的引导教程也是按照专业AS3学习进行设计的。
  我们考虑本身编程是一个非常专业的事情,不是一些简述的文字就能理解的,所以我们这里只列了重点学习的知识大纲,新手可以在“资料库”中找到学习教程,对照着大纲进行学习。

从零开始:动画师常用的交互代码

  其实自从Flash退出浏览器,这些交互代码也变得不是那么重要了。
  但是作为一个刚熟悉Flash软件和动画的新手,一些很简单的代码命令,就可以控制动画,可以实现交互,还是很有趣的。
  这里列一下这部分的重点知识点。

  1 元件帧的操作

  · 停止和播放:停止 stop()、播放 play()
  · 跳转和标签:跳转到某一帧并停止 gotoAndStop()、跳转到某一帧并开始播放 gotoAndPlay()、使用标签进行跳转
  · 上下翻页:跳转到上一帧并停止 prevFrame()、跳转到下一帧并停止 nextFrame()

  2 按钮

  · 按钮元件和实例名称
  · 按钮点击:xxxx.addEventListener(MouseEvent.CLICK, function(event: MouseEvent): void{});

  3 全屏、退出全屏

  · 全屏:stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
  · 退出全屏:stage.displayState = StageDisplayState.NORMAL;

  4 网页链接

  · 打开系统浏览器,跳转到网页:navigateToURL(new URLRequest("http://www.theflash.cc/"), "_blank");

准备出发:开发环境和基础

  既然要学习Flash AS3编程,那么我们应该搞懂:学习的代码是什么、代码在哪编写、代码靠什么运行、最终如何打包发布成可用作品。

  1 ActionScript 3.0 编程语言

  · 语言定位:ECMAScript标准脚本语言,Flash/AIR专属交互脚本,面向对象纯编译型脚本;
  · 编译流程:AS3源代码→编译器编译ABC字节码→封装嵌入SWF文件→Flash Player/AIR虚拟机解析运行。

  2 开发环境(Flash软件)

  · 代码书写位置:帧时间轴代码、库元件绑定类代码、外部.as独立类文件;
  · 软件配置:脚本版本切换、发布配置、代码提示、语法报错控制台调试、trace控制台输出调试。

  3 Flash Player 播放器

  · SWF专属虚拟机,解析ABC字节码、渲染动画、执行AS3代码。

  4 AIR技术和AIR运行时

  · 定位:脱离浏览器的独立跨平台运行时,基于Flash内核拓展桌面/移动端系统权限;
  · 跨平台:Windows桌面、Mac端、安卓移动端、iOS移动端一体打包。

  5 发布swf和打包exe

  · SWF发布:Flash成品文件、使用Flash Player播放器打开;
  · 桌面exe打包:封装SWF+内置播放器,电脑双击直接打开。

  6 发布AIR程序(APP)

  · 桌面AIR程序:带程序图标、窗口标题、安装卸载程序、系统桌面原生软件;
  · 移动端APP:安卓apk、iOS安装包,动画交互程序移动端落地;
  · 打包流程:证书签名、权限清单配置、程序版本。

第一部分:ActionScript 3.0 语言基础

  本部分是AS3编程地基,大部分面向对象编程语言的这部分的结构基本都差不多,所有编程语言都有自己的语法规则。
  学会变量、符号、逻辑、函数,就能看懂、写出基础代码,零基础必学、不可跳过。

  1.1 语言基本元素

  · 变量和常量。
  · 基础数据类型。
  · 变量的默认值:变量创建后不手动赋值,系统自动填充的初始数值,默认值有五种,分别是0、false、NaN、undefined、null。

  1.2 运算符和表达式

  · 代码里专用计算、判断符号,搭配变量组成可执行语句,完成数值计算、条件对比、逻辑判断。
  · 算数赋值运算符:=、+=、-=、*=、/=、%=、++、--
  · 算数运算符:+、-、*、/、%
  · 关系运算符:==、!=、===、!==、<、<=、>、>=
  · 逻辑运算符:&&、||、!
  · 三元运算符:? :

  1.3 流程控制

  · 控制代码执行顺序,决定代码什么时候运行、重复运行、跳过运行,实现交互判断、自动循环逻辑。
  · 条件判断语句:if..else
  · 循环语句:while、for
  · 循环控制关键字:break、continue
  · 分支选择判断语句:switch...case...default
  · 间隔运行和延迟运行:setInterval、setTimeout、Timer

  1.4 函数

  · 函数的概念和定义方法:语句定义方法、表达式定义方法
  · 函数的参数和返回值(return)

第二部分:ActionScript 3.0 面向对象编程

  AS3是一门纯面向对象语言,面向对象编程是基于类与对象,以及三大核心思想“封装、继承、多态”的编程思想。
  只有真正理解了面向对象思想,才能真正通往AS3殿堂之路。

  2.1 类(Class)和对象(Object)

  · 类的定义、创建和使用
  · 实例属性和实例方法
  · 静态属性和静态方法
  · 构造函数
  · this关键字
  · 密封类和动态类

  2.2 封装:类的成员、类、包与访问控制

  · 封装的概念与优点
  · package代码包
  · 五大访问控制权限:private、public、internal、protected、自定义namespace命名空间(新手不会接触到)
  · 存取器:Getter、Setter

  2.3 继承

  · 继承的概念
  · 实现继承:extends、final、override

  2.4 多态

  · 多态的概念
  · 数据类型检查和转换:is、as、instanceof
  · 向上转换和向下转换

第三部分:ActionScript 3.0 核心类和数据结构

  最常用的核心类,处理文本、数组、时间、数学、数据,项目开发高频刚需。

  3.1 String和RegExp

  · String,查找指定字符串的位置:indexOf()、lastIndexOf()
  · String,截取字符串片段,提取部分文本内容:substring()、slice()、substr()
  · String,按照指定符号分割字符串,结果转为数组:split()
  · String,英文字母大小写转换:toUpperCase()、toLowerCase()
  · String,按索引读取单个字符、获取字符编码:charAt()、charCodeAt()
  · String和RegExp,替换、全局匹配查找:replace()、match()、search()

  3.2 Array 数组

  · 查找元素在数组中的索引:indexOf()、lastIndexOf()
  · 头部添加元素、尾部追加元素:unshift()、push()
  · 头部删除元素、尾部删除元素:shift()、pop()
  · 在指定位置删除、插入、替换数组元素:splice()
  · 截取数组片段:splice()
  · 拼接多个数组 / 元素,合并数据:concat()
  · 数组排序、属性排序、倒序:sort()、sortOn()、reverse()

  3.3 Object和JSON

  · Object,赋值 / 取值:支持 点语法 和 中括号语法 读写属性。
  · Object,delete 关键字:删除对象指定属性。
  · Object,for...in 遍历:循环读取对象所有键名,批量遍历数据。
  · JSON,最常用的文本数据格式之一。
  · JSON,将 AS 对象转为 JSON 字符串:JSON.stringify()
  · JSON,将 JSON 字符串还原为 AS Object 对象:JSON.parse()

  3.4 XML和XMLList

  · XML,最常用的文本数据格式之一。
  · XML,作用:解析、读写 XML 格式数据。
  · XMLList,作用:存储一组同名 XML 节点,等价于 “XML 数组”。

  3.5 Date 日期类

  · 获取年、月、日:getFullYear()、getMonth()、getDate()
  · 获取时、分、秒:getHours()、getMinutes()、getSeconds()
  · 获取星期:getDay()
  · 获取时间戳(毫秒数):time

  3.6 Math 数学工具类

  · 圆周率:Math.PI
  · 四舍五入、向上取整、向下取整:Math.round()、Math.ceil()、Math.floor()
  · 生成随机数:Math.random()
  · 获取一组数字的最大值、最小值:Math.max()、Math.min()
  · 获取绝对值:Math.abs()
  · 三角函数:Math.sin()、Math.cos()
  · 开平方:Math.sqrt()

第四部分:异常处理、文件、网络与事件机制

  解决程序报错、联网读数据、本地存文件、程序触发逻辑四大工程问题。

  4.1 异常和错误的捕捉与处理

  · 运行时异常概念
  · 拦截程序崩溃、规避闪退、错误信息打印:try...catch...finally

  4.2 网络通信基础

  · URLLoader和URLRequest:网络数据请求、GET/POST请求模式。
  · Loader资源加载器:外部图片、SWF素材加载。

  4.3 文件系统(AIR专属)

  · File类:本地文件路径、目录创建、文件检索、系统桌面/文档路径适配。
  · FileStream文件流:本地文本、二进制文件读写。
  · 权限说明:SWF播放器不具备此API,仅AIR运行时支持。

  4.4 事件发送和处理

  · 核心原理:AS3全域事件驱动架构,所有显示对象、核心类继承事件派发器;
  · Event基础事件:事件标准结构、冒泡属性、取消冒泡机制;
  · 事件侦听器:addEventListener绑定、移除侦听、内存泄漏优化;
  · 自定义事件:继承Event类、自定义参数、业务专属事件派发与侦听。

第五部分:显示对象架构、人机交互及动画特效

  一开始的时候代码都是一条条命令行,那个时候都没有发明鼠标,只有键盘。
  但随着计算机的普及,用户需要看到界面,看到丰富多彩的图像,要和计算机进行直接的互动,于是显示部分的编程变得越来越重要。
  由于前面的四部分为编程打下了基础,第五部分和第六部分其实都是属于应用层面的类的使用,只是说这些属于基础的,内置的类库。

  5.1 显示对象(DisplayObject)

  · DisplayObject:所有显示对象的顶层父类,定义基础的可视属性和方法;
  · InteractiveObject:可交互子类,支持鼠标、触摸、键盘事件;
  · DisplayObjectContainer:容器父类,拥有独立的坐标系,支持子显示对象的添加和移除;

  5.2 显示对象的基本属性

  · 坐标:x、y
  · 宽高:width、height
  · 缩放:scaleX、scaleY
  · 旋转:rotation
  · 透明度:alpha
  · 显示隐藏:visible

  5.3 显示对象的常用属性

  · 鼠标相对坐标:mouseX、mouseY
  · 遮罩绑定:mask
  · 滤镜数组:filters
  · 图层混合模式:blendMode
  · 元件实例名:name
  · 父容器:parent
  · 舞台:stage
  · 根文档:root

  5.4 矢量图和位图

  · 矢量图:Shape容器+Graphics绘图API,直线、圆形、矩形、渐变画笔绘制,无限放大不失真;
  · 位图:Bitmap现实对象+BitmapData像素数据源;像素修改、截图、画布缓存、图像资源分离原理;
  · 特点:位图耗内存、矢量耗算力。

  5.5 遮罩

  · 普通遮罩:图形裁切画面,mask属性直接绑定;
  · Alpha通道遮罩:开启位图缓存,支持透明渐变遮罩、柔边动态遮罩。

  5.6 文本

  · TextField:文本显示对象;
  · TextFormat:字体、字号、颜色、行间距等配置对象。

  5.7 容器

  · Sprite:轻量无时间轴容器,纯代码开发首选、性能最优;
  · MovieClip:继承Sprite、内置时间轴、帧标签、帧动画播放控制,适配Flash原生动画素材;
  · 容器深度管理:addChild、addChildAt、层级置顶置底、子元件遍历、深度交换。

  5.8 库元件的类绑定与Stage、文档类

  · 库影片剪辑绑定外部AS类、脱离帧代码;
  · 文档类SWF全局程序入口;
  · Stage全局舞台根容器;
  · 代码-动画素材解耦开发。

  5.9 显示对象事件和人机交互

  · 三阶段事件流:捕获阶段→目标阶段→冒泡阶段;
  · 鼠标事件和触摸事件:点击、双击、按下、移动、弹起、划入、划出、滚轮事件;target、currentTarget对象差异;
  · 键盘事件:全局舞台按键监听、keyCode按键编码、功能键组合判断;Tab焦点控制机制。

  5.10 动画、粒子和特效

  · 原生Timer/ENTER_FRAME帧动画;
  · 第三方TweenLite、TweenMax缓动动画库;
  · 第三方粒子特效库。

第六部分:多媒体开发

  操控音频、视频、电脑硬件摄像头麦克风,打造影音交互、实景互动多媒体项目。
  除了多媒体项目,声音几乎是所有项目必须的,而视频也大多数项目都可能会需要,摄像头和麦克风倒是根据实际项目才会有所需要。

  6.1 声音

  · 背景音乐/音效加载、播放暂停、音量控制、循环播放。
  · Sound:音频资源加载类。
  · SoundChannel:音频播放通道。

  6.2 视频

  · 本地视频、流媒体视频加载;播放进度、暂停、缓冲监听、播放器交互开发。
  · Video:画面挂载容器。
  · NetConnection:网络连接。
  · NetStream:视频数据流。

  6.3 摄像头(AIR/本地信任权限)

  · 调取设备摄像头、实时画面挂载舞台;分辨率配置、画面截取。
  · Camera:硬件原生API调用。

  6.4 麦克风

  · 实时音量监听、音频数据流捕获、互动音频交互。
  · Microphone:麦克风收音采集。