FLASH ActionScript基础
flashActionScript编程(适合教学)

(7)改进的“字符串”面板。“字符串”面板中添加 了对String字段和XML文件的多行支持。
(8)在Flash Player中增强了本地文件的安全性。在 Flash Player中,当用户运行硬盘上的SWF文件时为本地文 件提供额外的安全保护。
(9)通过ActionScript使用滤镜。用户可以使用 ActionScript代码对舞台上的对象应用多种滤镜。
Include类文件夹 :包含所有的全局ActionScript include 文件。
ActionsPanel.xml配置文件:包含用于ActionScript 代码提 示的配置文件。
AsColorSyntax.xml 配置文件 :包含用于 ActionScript 代 码颜色语法加亮显示的配置文件。
图11.1.4 “动作”面板
(2)“动作”面板的组成。“动作”面板主要由3个部分 组成:动作工具箱、脚本导航器和脚本输入区。
1)动作工具箱位于“动作”面板的左上方,以分类的方 式列出了Flash中包含的所有语句,包括全局函数、全局属性、 运算符、语句、ActionScript 2.0类、编译器指令、常数、类型、 数据组件、组件、屏幕和索引。只要用鼠标双击其中的任意一 个元素或者应用拖曳的方式,即可将其添加到“脚本”窗格中。
图11.1.7 “查找和替换”对话框 话框
图11.1.8 “插入目标路径”对
“语法检查”按钮:用来检查用户输入的脚本中是否存在 语法错误。单击该按钮可检查当前脚本中的语法错误,如果语 法正确,弹出如图11.1.9所示的提示框。如果脚本中有错误, 则会弹出如图11.1.10所示的提示框,并打开如图11.1.11所示 的“输出”面板,说明错误的详细信息。
图11.1.6 命令级联菜单
Flash编程(讲义)

对MC的理解
• 每一个MC都有自己唯一的实体名 (Instance Name) • 利用MC对象的内置函数对MC进行复制、 移除以及改变颜色、位置等。
Action编程的基本操作
• Flash编程代码的书写方法
– 普通模式、专家模式
• 对帧和对象书写脚本
– 为帧书写脚本 – 为对象书写脚本
ActionScript的语法规范
• “.”语法
– 指向一个对象的某一个属性或方法 – desk._x; tools.cup.height=150; – Cup.play() – 两个特殊的表达方式:_root. _parent. (_root. 表示主场景的绝对路径 _root.play()表 示播放主场景 _root.count表示在主场景中的 变量count _parent.表示父场景,也就是上一级的MC)
• Flash编程是指利用Flash内建的Action脚本 语句进行程序设计。
Flash编程基础
• 面向对象的脚本编程概念
– 面向对象是指将所有一类物品的相关信息组织 起来,放在一个被称作类(Class)的集合里, 这些信息被称为属性(Properties)和方法 (Method),然后为这个类创建实体 (Instance),这些实体被称为对象(Object)。
变量的周期
• 局部变量和全局变量
– var-局部变量 – 不用var申明的变量为全局变量
操作符
• • • • • • 比较操作符 字符串操作符 算术操作符 逻辑操作符 位操作符 相等比较(==)和赋值
定义和使用对象
• 创建一个实体
– new 或从库中拖出一个MC
• 获取实体的属性 • 调用实体的函数
Flash编程
flash第1讲ActionScript基础

1.5.2 了解内置对象
1. 实例化对象 如果要创建动作脚本类的实例时,可使用new 运算符调用该类的构造函数。构造函数与类始终 具有相同的名称,并返回该类的实例,而用户通 常会将该实例分配给一个变量,例如: var song:Sound=new Sound(); 上述代码表示创建了一个新的Sound对象。
1.5.1 面向对象编程中的几个基本概念
“对象” 是指属性和方法的集合,每个对象都具有 其各自的名称,并且都是特定类的实例。相比较而言, 对象是一个形象具体的概念,如生活中所使用的笔、纸 张、书籍、计算机等,都可称之为对象。而对于每个对 象来说,它们都具有一些区别于其他对象的个体属性, 如大小、形状、颜色、使用方法等。Flash中使用的内置 对象都是在动作脚本语言中预先定义的。
1.5.2 了解内置对象
几种顶级类: (1)Key:Key类是不通过构造函数即可使用其方法和属性 的顶级类。使用Key类的方法可生成用户能够通过标准键盘控 制的界面,该类的属性是常量,表示控制游戏时最经常使用的 键。 (2)Mouse:使用Mouse类的方法可隐藏和显示SWF文件 中的鼠标指针(光标)。默认情况下鼠标指针是可见的,但是 用户可以将其隐藏并实现用影片剪辑创建的自定义指针。 (3)Math:使用Math类的方法和属性可以访问和处理数学 常数和函数。
1.5.2 了解内置对象
2. 需要绑定的类 在动作脚本中,还有一些对象类需要绑定到 【库】面板中的某个对象上,如MovieClip、 Sound等。
No Image
1.5.2 了解内置对象
3. 顶级对象类 有些内置动作脚本类,类成员(属性和方法)通 过类名本身来访问或调用的,而不是通过类的实 例,也就是说,不用创建类的实例即直接使用这 些属性和方法。
ActionScript基础程序设计

例3-1
本例是利用自定义函数实现指定帧的跳 转功能。 转功能。 新建文档;并新建名为“元件1”的影 新建文档;并新建名为“元件 的影 片剪辑元件, 片剪辑元件,在该元件中制作一个简单 的动作补间动画。 的动作补间动画。 返回主场景,将元件1拖到主场景中 拖到主场景中, 返回主场景,将元件 拖到主场景中, 并在“属性” 并在“属性”面板中将实例名设置为 mc
onClipEvent (load) { var time = 0; var rate = 12; var temp = 0; } onClipEvent (enterFrame) { temp += 1;//程序每执行一次,temp加1 time = Math.round(temp/rate*100)/100; //把temp除以帧频,并保留两位小数 } 3. 测试影片。
四、常用函数(内置函数)
Play()与stop() 与 Play() ; stop(); _root.ball.stop(); gotoAndplay() 与gotoAndstop() prevFrame()与nextFrame()、 与 、 prevScene()与nextScene() 与
duplicateMovieClip()作用是通过复制来创 作用是通过复制来创 建新的影片剪辑的实例。 建新的影片剪辑的实例。 duplicateMovieClip(目标,新实例名称,深 目标, 目标 新实例名称, 度); 目标:被复制度影片剪辑的名称和路径。 目标:被复制度影片剪辑的名称和路径。 新实例名称: 新实例名称:是复制后得到的影片剪辑实例的名 称。 深度:代表影片剪辑实例在影片中的叠放顺序; 深度:代表影片剪辑实例在影片中的叠放顺序; 低深度在高深度之下。 低深度在高深度之下。
ActionScript菜鸟基础终极教程

第1章揭开ActionScript的神秘面纱ActionScript是Flash内置的编程语言,用它为动画编程,可以实现各种动画特效、对影片的良好控制、强大的人机交互以及与网络服务器的交互功能。
ActionScript是一门吸收了C++、Java以及JavaScript等编程语言部分特点的新的语言。
ActionScrip使用英文单词和元件提供了一种为Flash影片设置指令的方法。
它的存在确保了Flash影片较之普通的按照线性模式播放的动画具备强大得多的人机交互能力。
可以为时间轴中的关键帧、按钮和影片剪辑添加ActionScript。
选中这些关键帧、按钮和影片剪辑,打开其动作面板,你就可以看到它们都添加了哪些脚本。
1.1 Flash中的程序交给计算机执行的指令集称为程序。
程序的另一个名称叫做脚本。
从现在开始,我们将这些指令集统称为脚本。
脚本都必须有它的运行环境,就ActionScript来说,它的运行环境就是Flash影片。
ActionScript 可以指挥Flash影片该做什么。
在某些情况下,ActionScript还可以指挥其他的东西,如用户的操作系统、浏览器等。
但是ActionScript最主要的用途还在于控制Flash影片内部的东西。
短的脚本可以只有一行,长的脚本可以长达几千行。
它们可以作用于Flash影片的一个部分,也可以贯穿影片始终。
有人把使用了脚本的整个Flash影片看作一个程序,也有人把影片中单独出现的脚本看作一个程序。
这两种看法都正确,因为一个单独的程序也可以被定义成若干小程序。
你可能对某些编程语言已经相当熟悉或者有所了解。
例如广大网页设计者所熟知的JavaScript,以及另一种相似的语言VBScript,它们能用来编辑动态网页。
HTML(Hypertext Markup Language 超文本置标语言)是另一种特殊的语言,浏览器将按照它所包括的指令正确地显示文本和图片。
在学校里面,你可能接触过一些编程方面的课程,如BASIC、Pascal、C、Java等。
flash课件 第12讲: Action面板及语法

DragOut:当在按钮上按下鼠标,只要按住左键移到按钮外,就 会开始执行相应的动作. DragOver:在按钮上按下鼠标,并按住移开按钮,然后又移到 按钮上,并且在此过程中一直没有释放,则开始执行相应的 动作. KeyDown:该事件与鼠标无关,而是指当按下键盘上的某个键时, 执行相应的动作. KeyUp:键盘上有任何一个键被按下然后又被释放时,就会激发 并开始执行相应的操作.
2,常量 也称为常数,是与变量相对应的,在程序编写过程 中不能被改变,常用于数值的比较. 3,变量 一种可以保留任何数据类型值的标识符.变量可以 被创建,改变和更新,它的存储值可以在脚本中被检索. 4,表达式 任何能产生一个值的语句都可以称为一个表达式. 5,数据类型 string(字符串),Number(数字),true或 false(布尔运算符)等.
1.1 按钮事件
Press:当在按钮上按下鼠标时执行动作,而不用等到释放 鼠标以后. Release:当在按钮上按下鼠标,并且释放以后. Release Outside:当在按钮上按下鼠标,并且按住左键移到 按钮外释放后,开始执行相应的动作.
RollOver:当鼠标滑到按钮上时,开始执行动作. RollOut:当鼠标滑出按钮时,开始执行相应动作.
任务二:ActionScript的相关术语 任务二:ActionScript的相关术语
1,事件
在很多情况下,动作是不会独立执行的,而是要提供一 在很多情况下,动作是不会独立执行的, 定的条件,换句话说, 定的条件,换句话说,就是要有一定的事情对该动作进行触 发才会执行这个动作, ActionScript中 发才会执行这个动作,起触发作用的事情在 ActionScript中 称为事件.例如鼠标的移动,按下与释放; 称为事件.例如鼠标的移动,按下与释放;键盘上某键的敲 击及影片剪辑的下载等都可以作为事件. 击及影片剪辑的下载等都可以作为事件.
flash_as2.0程序基础
ActionScript2.0基础
——变量、函数和方法
变量 是保存信息的容器。变量中可以存储的常见信息类型包括 URL(String 类型)、 用户名(String 类型)、数学运算的结果(Number 类型)、事件发生的次数 (Number 类型)等。 变量定义使用 var 关键字,后面跟上变量名和初始值及值的类型: var myNumber:String = "A03081992"; var myAge:Number = 35; 变量有三种类型的变量作用域: 全局变量 和函数对于文档中的每个时间轴和作用域均可见。(只需要创建一次) var _global.myName = "George"; // 全局变量的错误语法 _ global.myName = “George“; // 全局变量的正确语法
if ((myNum > 10) && (myNum < 20)) { var myNum:Number = 6; var squared:Number = myNum * myNum; trace(“条件成立"); } trace(squared); // 36 逻辑表达式 算术表达式
ActionScript2.0基础
时间轴变量 可用于该时间轴上的任何脚本。(添加到时间轴中 )
本地变量 在声明它们的函数体(由大括号界定)内可用。 function scopeTest():Void { var str1:String = "Local"; trace(str1); // 本地 }
ActionScript2.0基础
ActionScript2.0基础
——循环语句
for 语句 for(init; condition; next) { statement(s); } 计算一次 init(初始化)表达式,然后开始一个循环序列。循环序列从计算 condition表 达式开始。如果 condition 表达式的计算结果为 true,将执行 statement 并计算 next 表 达式。然后循环序列再次从计算 condition 表达式开始。
Flash的ActionScript脚本语句的用法
很多朋友经常询问关于Flash的ActionScript脚本语句的用法,有些很简单的命令就能实现某种功能,现在我就把一些Flash的常用Action语句的基本用法讲解一下。
1、Goto:跳到一个指定的帧(Frame)Scene: 指定SceneFrame:Number,Label,EXPression,Next Frame,Previous Frame可以选择Frame 的编号,标号,通过表达式,下一帧,前一帧Expression: 定义表达式Control:Go to and Play,Go to and Stop通过选择这个项目来确定到达指定的帧以后是继续播放还是停止例子:Go to and Play (1)跳到第一帧播放Go to Next Frame跳到下一帧播放Go to and Stop ("intro")跳到标号为intro 的帧播2、Play:播放Stop:停止Toggle High Quality:切换画面的细节程度Stop All Sounds:停止所有声音Get URL:打开指定的网址URL: 网址Windows:_self,_blank,_parent,_top打开网址时使用的目标Variables on’t Send,Send use GET,Send use POST变量的传递方式例子:Get URL ("next.asp", window="_blank", vars=POST)在新窗口中打开next.asp,并且传递参数3、FScommand:调用命令Command: 命令Arguments: 参数For standalone player:fullscreen,allowscale,showmenu,exec,quit播放器使用的固定命令和参数例子:FS Command ("fullscreen", "true")设置全屏幕播放4、Load/Unload Movie:调入/释放外部的影片Action:Load movie into location,Unload movie from location,Load variables into locati on: 可以选择是否调入新影片,释放已经调入的影片,调入变量URL:影片的网址Location:Level,Target: 调入的层,或者是某一目标对象的位置Variables on’t Send,Send use GET,Send use POST: 变量的传递方式例子:Load Movie ("test.swf", 1): 把test.swf 调入到第一层Load Movie ("test.swf", "loadit", vars=GET): 把test.swf 调入到loadit 目标对象的位置Unload Movie ("loadit"): 把loadit 目标对象处的影片释放Load Variables ("makeit.asp", 2, vars=GET): 调用makeit.asp 并接收返回的变量5、Tell Target:指定目标对象Target: 目标对象例子:Begin Tell Target ("obj")指定目标对象objEnd Tell Target6、If Frame is Loaded:判断某帧是否调入Scene: 指定场景Frame:Number,Label,Expression: 指定帧,标号或者表达式Expression: 表达式例子:If Frame Is Loaded (Scene 1, "end")End Frame Loaded:判断场景一的标号为end 的帧是否调入7、On MouseEvent鼠标时间响应Event ress,Release, Release Outside,Roll Over,Roll Out,Drag Over,Drag Out,Key Pres s各种事件:按下,放开,在外面放开,焦点移入,移出,拖过,拖出,按键按下例子:On (Press) 鼠标按下的时候End OnOn (Key: s)键盘上s 按下的时候End On8、If判断条件是否成立Condition: 条件Add Else/Else If clause: 加入Else 再次判断例子:If (a=10)如果a=10 那么……End IfIf (a=10)如果a=10 那么……不然……ElseEnd If9、Loop循环Condition:条件例子:Loop While (a=10)如果a=10 那么循环End Loop10、Call调用函数帧或对象Frame:函数帧例子:Call ("make")调用make 帧程序11、Set Property设置属性Set:Y Positon,X Position,Y Scale,X Scale,Alpha,Visibility,Rotation,Name,High quality,S how focus rectangle,Sound buffer time设置y 坐标,x坐标,y 放大倍数,x 放大倍数,透明度,可视否,旋转角度,名称,精细度,焦点矩形框是否显示,声音缓冲时间(默认5秒)Target:目标对象value:值例子:Set Property ("aoe", X Position) = "12"设置目标对象aoe 的x 坐标为12Set Property (Show focus rectangle) = "0"取消焦点框12、Set Variable设置变量Variable:变量value:值例子:Set Variable: "test" = 10设置test=1013、Duplicate/Remove Movie Clip复制对象Action uplicate movie clip,Remove duplicate movie clip可选择是复制还是删除Target:目标对象New name:新目标对象的名字Depth:深度例子:Duplicate Movie Clip ("aoe", "aoe2", 1)复制aoe 一个新的动画,名字叫aoe2Remove Movie Clip ("aoe2")删除目标对象aoe214、Drag Movie Clip 拖动影片片段Start drag operation:开始拖动Target:目标对象Constrain to rectangle:Left,Top,Right,Bottom鼠标的位置,左上右下Lock mouse to center:鼠标放置在中心Stop drag operation停止拖动例子:Start Drag ("aoe", L=2, T=3, R=4, B=5)拖动目标对象aoe,位置在L=2, T=3, R =4, B=5Start Drag ("aoe", lockcenter)拖动目标对象aoe,位置在中心Stop Drag停止拖动15、Trace 跟踪Message:信息例子:Trace ("aoe")显示aoeTrace (aoe)显示aoe 的值16、Comment注释Comment:注释例子:Comment ("计算")注释:计算。
Flash ActionScript2.0教程
第一课认识编程环境ActionScript是针对Flash Player的编程语言,它在flash内容和应用程序中实现了交互性、数据管理以及其它许多功能.那么我们将程序写在什么地方呢?在flash创作环境中,我们的程序写在"动作"面板中而动作面板,又是与舞台上可以添加动作的对象相关联的.在ActionScript2.0中可以添加动作的对象有三种:关键帧、影片剪辑元件、按钮元件.编程实际就是向计算机下达指令,让计算机按我们的指令去完成一些任务.这就要求我们用计算机能看得懂的语言,这就是编程语言.ActionScript则是其中的一种.即然是语言,就同我们人类的语言一样它就有它自己的语法、语句、词汇等,这些东西就是我们要学习的内容.为了以后学习方便我们首先来学习一个语句:trace()这个语句的作用是,flash在运行时,将括号中的内容显示出来.上面我们提到,ActionScript2.0中可以添加动作的对象有三种:关键帧、影片剪辑元件、按钮元件.也就是说,我们可以在这三个对象的动作面板中编写程序.具体怎样作呢?我们来试试.新建一flash 文档,如果你的flash版本是CS3,那么请选择ActionScript2.0文档,因为本教程介绍的是ActionScript2.0.为什么不介绍3.0?因为sanbos发现很多人用的都是flash8.好,现在点击"插入"菜单,一"新建元件,建一个影片剪辑元件,随便画一个什么图形吧,将元件拖到舞台上;然后点击"窗口"一"公用库"一"按钮",然后随便选一个按钮拖到舞台上.这样,关健帧、影片剪辑、按钮都齐了.现在我们来看看怎样打开动作面板.在影片剪辑上点鼠标右键,然后在弹出菜单中点"动作",那么现在我们看到的就是动作面板了.图1:动作面板我们在按钮元件上执行相同的操作,可以得到相同的结果现在在时间轴的第1 帧上,执行相同的操作,一样地打开了动作面板.动作面板的右边留出了一大片空白,等着你去编写程序,鼠标指针在那儿闪着,便勾起了我们编程的冲动.于是你说:"我要编程了".上面我们不是介绍了一句,trace()吗?我们何不偷偷地在这里输上一句,也好过把编程的隐.于是你在这里输上:trace("我会编程了");注意大小写,括号后面跟着分号.测试影片.你会看到一个输出窗口,里面有"我会编程了"几个字是的,你已经会编程了.虽然只有一句,但它是一个ActionScript程序却是千真万确的.因此,这的确是一件值得祝贺的事情.来吧,让我们再说一次:"编程其实很容易".欣赏够以后,请关闭输出窗口,关闭播放窗口,回到几分钟之前,令我们自豪了一把的动作面板,我们来对它进行更进一步的认识.我们看到trace是蓝色的是的,ActionScript内部的词汇在编程环境中都会以蓝色表示.那么这就是一个技巧, 当你在输入程序时,如果输入ActionScript内部词汇时不是蓝色的,那么说明你输错了,那么你应该马上检查,是否有哪个字母输错了.现在问题出现了,你说我记不到那些词汇.在中学时英语考不出好成绩主要就是因为记不住单词.现在学习编程也记不住那些指令、语句,所以觉得编程好难.首先我还是说一句,你可能不太乐意听的话:多练自然就记住了.你说:我就是记不住,我是不是就不宜学习ActionScript编程呢?NO,你看说英语并不难,我张口就来.我们将标淮降低,只要你看到这些指令,能够认识它就行.相比之下,知道有些什么指令比记住那些指令的拼写要重要得多.回到动作面板,你就会明白这个道理.看看动作面板的左半部分,这里几乎将所有的指令列了出来,你可以分门别类地去找到相关指令,如影片剪辑控制、时间轴控制、常用语句等,找到相应语句,双击它,于是它便自动写到右边的编程窗口中了.是不是不用精确记住指令的拼写也能编程呢.在右边的编程窗口上面的工具栏最左边有一个加号,它具有与左边窗口相同的功能,不信你点它试试通常在ActionScript编程时,我们可能会习惯将代码写在影片剪辑、按钮元件上,这就必须要事件驱动,它的格式是:on(事件名称){要执行的语句}现在我们来试一试,在动作面板中输入 on(这时你会发现弹出了一个窗口,将所有事件列了出来,你只需用鼠标选用所需要的事件双击它或回车,事件就会自动写到屏幕上.是不是很方便?很多ActionScript程序都是对影片剪辑、按钮元件、文本框等对象进行操作,这需要在属性面板中为它们命名.良好的命名习惯,对我们编写程序会有很大的帮助.按照约定,影片剪辑元件的命名以_mc结尾,如my_mc,按钮元件则是以_btn结尾,文本框则是以_txt结尾.当然你完全可以不理采这些约定,随心所欲地为他们命名.我们说遵守这些约定,会对我们编程有所帮助.还是来试一试吧.建一影片剪辑元件,然后将它拖到舞台上,打开属性面板,为它取名为:mymc_mc,在第一帧打开动作面板,输入:mymc_mc.这时会弹出一个窗口,需要哪个指令选就是了.这些指令是按拼音顺序排列的.如果你能记住所需指令的前几个字母,你不妨直接输入,这时你会发现,很快就定位到了你所需要的指令.现在,我们把元件的名称改为mymc,不以_mc结尾,再到动作面板中输入,mymc.结果什么也没有发生,后面的指令只有自己输了,或者到左边窗口中去选.按钮元件和文本框也是相同的.你可以试一下.这一课我们认识了动作窗口,这是我们ActionScript编程的地方,通过对智能化的编窗口的认识,应该消除了我们对编程的恐惧,让我们树立了学好ActionScript编程的信心第二课_面向对象编程基础ActionScript是一种面向对象的编程语言.通常我们会认为编程就是连续地写一系列指令,计算机按顺序地执行它.而面向对象编程则是将程序分成各个块,分散到对象上.什么是对象?对象就是我们在flash中能看到的一切东西.舞台是一个对象,时间轴、影片剪辑、按钮、文本、位图都是对象.在第一课中我们己说过:在ActionScript2.0中我们可以将程序写在关键帧、影片剪辑、按钮元件上.即便是将程序完全写在关键帧上,它也必须要对象的事件驱动才能执行.在理解了面向对象编程后,我们必需要对一些概念有所了解.事实上我们在上面对对象己经有了一定的了解.就如同我们的家中,所有的东西都可以叫做对象.比如,电视机,电冰箱,书桌,衣柜等等.很容易发现,这些东西,总有那么几个都有相似之处.比如,电视机、电冰箱都需要用电;书桌、衣柜都是用木头做成的. 我们便把家里的东西分成了几类,并为每一类东西取上一个名字,比如,电器类、木器类等.这样我们就理解了另一个重要的概念一"类".类是某一类型对象的概括或者说是模板,在ActionScript中,所有对象都是由类定义的.每个类都包括了三个重要的元素:事件、属性、方法,这是我们必须要了解的三个重要概念.事件:在面向对象的编程中,并不是将程序按顺序交给计算机去执行,上面己经谈到了,程序被分散到了对象上.那么要计算机执行这些程序就需要事件来触发.通俗地讲就是:当某件事情发生时就去做一些事情.这个某件发生的事情就是事件.在flash中,常常会放上一个按钮,比如"开始"按钮.程序设计者可能是这样的思路:当按钮按下时就播放动画.那么"当按钮按下时"就是按钮对象的事件.在ActionScript2.O中,程序可以写在关键帧和元件上,事件在关健帧中和原件中的输写方法是不一样的.事件在关健帧中的写法:元件名称.事件名称 = function(){要执行的语句....}事件在元件上的写法:on(事件名称){要执行的语句.....}我们来做一个练习,在舞台上有一名为play_btn的按钮,现在要实现点击按钮动画就播放.新建flash文档,用椭园工具画一个园,然后,在40帧插入关健帧,将园移到另一位置,建立补间动画.新建一图层,从内部库中拖一个按钮到舞台上.打开属性面板,为按钮命名为play_btn.这里先介绍一个最常用的事件:release,这是当放开鼠标按键时触发.实际也就是完成了一个点击动作时发生.首先,在幀动作面板上写程序的方式完成练习:新建图层,命名为action,当这不是必须的,你完全可以给它取个其它名字.打开幀动作面板,输入: stop(); //这是让动画停止播放,以便让我们点击按钮时才播放.play_btn.onRelease = function(){play(); //让动画开始播放}测试影片,当点击按钮后,园形开始移动.回到场景中,可以看到,在action图层时间轴的第1幀上,有一个a字,这说明在这一幀上有程序.下面用在元件上写程序的方式来完成练习:将幀动作除第一行的stop();外其它的程序全部删除.然后,在按钮元件上点右键,点击"动作",打开动作面板,输入如下代码:On(replease){Play();}测试影片,得到相同的效果.属性:对象的属性可以理解为对象的特性,比如,大小,位置,颜色等.属性的输写规则是:对象名称.属性名称=值;下面介绍几个最常用的属性:_x,_y:分别是对象在舞上台的x,y坐标,这两个属性可以确定对象在舞台上的位置._xscale,_yscale:分别是对象在舞台上沿x,y轴方向的缩放比例,实际上就是宽和高的缩放比例,以百分比表示,例如:my_mc._xscale = 50; //这表示,元件my_mc的宽度缩小到原来的50%._alpha:这是对象的透明度,取值为0-100._rotation:这是对象的旋转度,以角度为单位._visible:为是对象是否可见,可设置两个值,true(或1)和false(或0).比如要设置元件my_mc 在舞台上不可见,可用:my_mc._visible = false; 或my_mc._visible = 0;相反要设置它在舞台上可见则用:my_mc._visible = true; 或my_mc._visible = 1;函数:你可能要问,属性介绍完了该介绍方法了,你怎么介绍起函数来了?原因很简单,方法也是函数.将函数附加到对象时,它就被称为方法.什么是函数呢?将完成一个任务的若干语句封装起来,就叫函数.也许用例子来说明会好理解一些.比如,要完成一个开电视的任务,可能需要很多步骤,插上电源,开机,选频道,设置音量.我们将这些步骤封装起来,并给它取个名字"开电视"这就创建了一个开电视的函数.在ActionScript2.O中创建函数的格式是:function 函数名称(){要执行的语句;.....}比如要创建上面开电视函数,就这样写:function 开电视(){插电源;开机;选频道;设音量;}函数创建以后,要调用这个函数只需:函数名()即可,比如我们要执行开电视的任务,只需输入:开电视();练习一下,我们来创建一个函数,然后调用它.打开第一帧的动作面板,输入:function test(){trace("我会写函数了");}test();测试影片,在输出面板中,会出现"我会写函数了"几个字.这个练习我们首先创建了一个叫test的函数,然后用test();调用了它.有时会有这样的情况,在函数内的语句中要用到数据,在创建函数的时候,却不能确定这些数据,比如每次调用会用不同的数据.这时就会用到参数,调用时,通过参数将数据传递给函数.格式如下: 创建函数的格式:function 函数名称(参数1,参数2,…){要执行的语句}调用函数的格式:函数名称(值1,值2,…);还是以开电视为例:创建开电视函数:function 开电视(频道,音量){插电源;开机;选频道=频道;设音量=音量;}调用函数:开电视(12,28);调用后,电视打开,并将频道设为12,音量设为28.练习:在帧动作面板中输入:functiontest(a,b){c=a+b;trace(c);}test(3,5);测试影片,输出面板中应显示 8 .了解了函数后,再来说方法就简单多了.上面已经说过,将函数附加到对象,就称为方法.AS中内置了很多方法,对于这些方法,我们不需要去了解它执行了些什么语句,只需要知道它可以完成的任务就行了.我们可以用:对象名称.方法名称();的格式来调用这些方法.比如有一个my_mc的影片剪辑元件,我们可以调用它的一些方法:my_mc.stop();my_mc.startDrag();按钮:在交互式的动画制作中, 经常会用到按钮,比如我们会放上一个"播放"、"停止"、"重放"等按钮.有两种方式可以将按钮添加到舞台上,一种是从内部库中拖一个按钮到舞台上;另一种方法是自己创建一个按钮,这里主要介绍一下自己创建按钮的方法,因为常常有人会问:为什么我创建的按钮点击它时不起作用?这可能就是创建按钮时出了问题.现在点击"插入"菜单-"创建新元件",选择按钮,这时就进入按钮编辑窗口,可以看到,时间轴上只有4帧,分别是:弹起,指针经过,按下,点击.特别要注意的是,点击那一帧,这一帧是点击的范围,因此这一帧是必须的,而且要注意的是,如果你的按钮是纯文字的,如Play,那么在这一幀应该画一个矩型,作为点击范围,不然,用户就只有点击到文字的笔划上才能触发按钮事件.在按钮编辑窗口中同样可以有很多层,比如第一层为图形,第二层为文字等.下面来制作一个按钮:点击“插入”-“新建元件”,选择按钮,确定,这样就进入元件编辑窗口。
Action Script基础知识,学习flash动画必备
Action ScriptAction Script基础知识1. 所谓Action Script,2. 就是Flash中所使用的程序语法Script Language,3. 借着Action Script,4. 我们可以控制电影的播放、制作按钮、制作互动游戏以及其他特效。
5. Action Script 可完成的电影互动:A. 播放及停止电影B. 设置电影的播放品质C. 停止播放任何声音文件D. 跳转到不同E. 的URLF. 跳转到特定的Frmae 或ScreenG. 检查某个特定的Frame是否被载入H. 载入或取消载入额外的电影I. 自定义鼠标J. 的指K. 针L. 取得鼠标M. 的指N. 针位置O. 取得键盘的按键值P. 建立一块可卷动的文字块Q. 设置颜色数值R. 控制声音S. 。
6. 指7. 令编写环境(指8. 令面板——Action Panel)A. 是我们撰写指B. 令的主要窗口C. 打开l F9l 窗口>>动作D. 标E. 题栏:根据动作对象的不同F. 性质而G. 随时发生改变脚本定位栏:固定当前脚本对象;命令提示/注释栏(可展开或折叠):对当前脚本加以简单说明;命令参数设置区:对当前函数命令进行具体的参数设置代码区:编辑或显示已编辑的脚本命令工具箱清单:(九大项目)动作、运算符、函数、常量、属性、对象、否决的、Flash UI 组件、索引H. 工作模式l 专家模式l 一般模式I. 视图选项按钮J. 状态栏9. 编辑指10. 令A. 一般说来,B. 指C. 令通常设置在按钮、关键帧或是电影剪辑之中。
指D. 令设置位置的不同E. 将会影响到电影效果的产生。
F. 添加:l 双击工具箱清单l 视图选项按钮中的添加命令按钮l 手动添加11. 规划脚本,12. 应考虑:A. 使用哪些动作B. 如何建立脚本结构C. 哪些地方使用脚本13. Action Script 运行控制(行为)A. 事件:用户使用鼠标B. 或键盘所进行的操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ActionScript基础引论一.本书中涉及多少AS内容(How mach ActionScript is covered in this book)二.Introducing Actionscript interface Elements(引入AS界面元素)(一)脚本面板(二)输出面板三.基本脚本语法(一)属性介绍(二)方法介绍(三)时间和事件侦听器四.基本语法问题(一)标点语法(二)Case Sensitivity(大小写敏感性)(三)执行顺序(四)分号的应用(五)执行表达式(六)绝对与相对地址(七)注释(八)脚本检查和格式化五.变量和数据类型六.强制数据类型转换七.运算符八.作用域和this指针九.函数(一)参数(二)返回值十.条件表达式(一)if语句(二)switch语句十一.循环语句(一)for循环(二)while循环十二.数组(一)多维数组(二)联合数组和对象十三.属性十四.方法十五.事件(一)事件侦听器(二)使用鼠标事件控制属性和方法(三)帧事件十六.移除事件侦听器十七.显示列表(一)添加和移除孩子(二)使用addChild()(三)从库中添加元件实例到显示列表(四)使用addChildat()(五)通过位置和名字查找孩子(六)构造一个显示对象十八.时间轴控制(一)帧标签(二)帧频率简介ActionScript是Flash设计器内部编程语言,是设计者和开发者用来为工程添加交互能力的。
有时候一个通过时间轴的线性处理的动画是不够备丰富的。
ActionScript可以添加多样性,随意性,用户输入和控制调配。
在Flash2中,Flash的内部交互控制介绍比较多,Flash4包括了支持书写的脚本。
Flash5在2000年出版,第一次包括了合理完整功能版本的脚本语言。
这一语言称为ActionScript 1.0 自从那时起,对于该语言主要有两个结构化的变化。
Flash MX 2004(在2003年9月份发布)包括了ActionScript 2.0(AS2)一个更加强健的ActionScript,并且第一次正式引入面向对象程序设计。
之后在2007年,Flash Cs3重组了ActionScript 3.0打破了脚本的束缚。
除了增强AS1和AS2的代码基础,继续查找早版本存在的脚本纰漏,代码被重定义为AS3。
早期的代码基础对于适应改进过于根深蒂固,但不打破向后兼容的能力。
代替的,一个全新的代码基础是发展的,给Flash播放器安装合法的编码器。
这里的代码基础意味着在FLA文件中,AS3不能与老版本AS混合使用,但是在当前的Flash播放器中仍然支持在前面任何版本语言创建的工程。
使用AS1和AS2创建的工程将会在每个允许Flash的计算机上回放,而使用AS3.0的文件需要一个当代的播放器来实现功能。
尽管AS3是一个类型的重新开始,它仍然分享着AS1和AS2的一些特征,甚至和其它语言一样基于ECMAScript,ActionScript包括的一些标准来源于它。
ECMAScript确实类似于JavaScript开始它的生命,如果你有使用JavaScript设计网页的经验,对于学习cs3时会有帮助的。
在许多方式下,AS3是完全不同的。
这有一些例子是关于最新发布的FLASH中AS3重组为快速高效的ActionScript版本的变化和改进。
*Consistent syntax(语法一致):使得掌握CS3更简单。
许多来自于先前版本的模棱两可的观点已经被澄清,并且遵循协定更加可靠。
举个例子,先前版本中,属性(描述对象的方式,比如宽带和高度)经常在之前强调,或者不进行强调。
一旦你有一些编写程序的经验,你会发现你需要明确的,工作相关的解决方式。
在这一点上,你会发现语言足够的一致性使你可以猜测语法,而且发现在很多情况下你是正确的。
一致性也使你使用帮助和其它资源更加简单。
更多描述性错误报告(More detailed error reporting):使的在AS3程序中查找存在的问题更为简单。
你的代码不再是运行失败,而是保留在你想让问题保持的地方。
AS3不仅仅增强了运行时的错误报告,它也引入了在文件编译成SWF文件时出现的错误和警告报告。
在介绍应用之前,通过学习这些可视状态下的错误,你可以找到或关注你经常出现的错误。
增强的数据类型(Stronger data typing):最有助于进行更好的错误报告。
通过定义你自己的数据类型为一个数据,举个例子,你会发现你偶尔使用文本字符串类型。
方便的使用强数据类型使得AS3更加冗长,但是这更有助于错误报告,更加使工程可靠。
New display architecture(新的显示结构):功能加强,简化了许多先前版本中用脚本控制可视元件的方式。
使用新的显示列表,现在控制可视元件的的可视堆栈顺序更加简单,操作这些元件之间的家族关系——父亲、孩子和兄弟关系——更加简单。
新的事件结构(New Event architecture)统一了事件处理方法。
所有的事件都被事件侦听器(event listeners)控制,当这些事件发生时,它侦听特定事件并作出回应。
举个例子,当侦听器被分配去侦听鼠标事件时,将会忽略键盘事件。
这使事件处理更加有效。
Improved handling of external assets(改进的外部素材控制方式):简化了运行时数据的调入。
一致的调用素材方式可以应用到图片、文本、声音、视频甚至其他的SWF文件。
在AS3中使用XML语言非常简单,可以使用原始数据工作,比如构造JPEG或声音的字节。
Better sound management(更好的声音管理)提供更强的32位离散声音通道的回放。
你可在回放时使用波形或者相似图形获得数据。
这里许多关于AS3更加引人瞩目的属性似乎更吸引中级编程者,本章不做介绍。
一.本书中涉及多少AS内容(How mach ActionScript is covered in this book)AS3是一个在宽度和深度上强健的语言。
它与其他版本的ActionScript一样也有一个陡峭的学习曲线。
作者认为,同时涵盖Flash创作者应用和所有有效性脚本语言功能是不切实际的。
本书集中于这两个领域之一。
每个版本都组织的使它更容易获取,更适合你的需求。
本书集中于Flash的创作应用,而它的配套教材Learning ActionScript 3.0,集中于脚本学习。
当然,尽管把这些材料划分成两个独立的卷,AS在此书中也是不能忽略的。
除非你想创建严格的线性动画,否则,你会需要一些AS来增加交互性,你需要至少一行代码来停止循环播放的时间轴动画。
更进一步,该书以工程为基础,每个主题都使用独立的例子,并基于文件portfolio进行逐渐深入。
独立的例子能够很快的掌握相关思路,工程则允许你应用你新的技能来实现真正的应用。
因此,本章目的是提供AS入门知识。
它包括了浓缩于Learning ActionScript 3.0多章的内容,内容直接与protfolio工程相关。
这些入门知识包括支持每个主题和工程工作的基本技能。
其他的脚本也会与章节相关内容一起周期性的引入。
试着记住这里开始的素材。
不要期待从语言入门开始学习,不要担心开始阅读时会很难理解。
自由的把这些内容作为一个小参考来使用,分段阅读,当你需要关于语言基础额外的帮助时再回过头来学习。
你可以决定是否进一步学习AS,是否需要本书的配套教材。
Learning ActionScript 3.0包括了更多的代码理念,考虑更细致,被自己的配套网站支持。
二.Introducing Actionscript interface Elements(引入AS界面元素)尽管在第一章涵盖了许多flash界面,AS相关界面元素保留在本章进行讨论。
入门阶段,我们会集中两个主要面板作为AS的进阶:脚本面板和输出面板。
(一)Actions Panel(脚本面板)脚本面板是你书写脚本的地方。
而在外部文件书写脚本也是可能的(在Learning ActionScript 3.0中进行讨论),该书集中于启发你的Flash 时间轴的脚本,脚本面板会为你所用。
这些是在Actions panel找到的工具视图。
在一些情况下,它们的功能不会自身阐述,但是相关主题会在之后进行讨论。
1.Panel Panes(面板窗口)在右侧的主要窗口,是用来书写脚本的窗口。
窗口左下角是脚本导航器,用来选择写入到fla的任何脚本。
窗口的左上角是脚本工具条(Actions toolbox)。
在这里你可以拖动或双击你要添加的Script。
左侧两个窗口可以最小化以便提高更多的空间给脚本窗口。
2.给脚本添加新项(Add a new item to the Script)这一菜单提供了在窗口最小化时访问Actions工具条内容的方式。
3.Find(查找)为编辑你的脚本打开一个查找和替换窗口4.Insert a target path(添加目标路径)这个按钮用来为你选择Fla文件中的对象(如影片剪辑)打开一个图形浏览器,他会在你的脚本中为对象插入一个路径。
5.Check syntax(检查语法)这个按钮查找脚本错误6.Auto format(自动编排格式)这个按钮编排正确的脚本或者提醒代码问题7.Show code hint(展示代码含义)可能的情况下,这个按钮为你正在编辑的脚本中光标周围的脚本提示一个浮动的语法描述。
8.Debug options(调试选项)在这里你可以为使用动画编译器中添加、移除或者可见、不可见断点。
这是一个为中级用户使用的工具,它需要一定帮助和经验才能使用。
9.Code collapse controls(代码折叠控制)使用这三个工具,你可以通过操作线将它折叠为一个关闭的标志来实现隐藏代码。
你可折叠双括号({}),折叠选择的代码,或者扩展所有已经折叠的代码段。
ment control(注释控制)这里的三个工具帮助添加注释,或者是/否允许多行,或者单行,也可以将已经注释的代码去除注释。
11.Show/hide toolbox(显示/隐藏工具框)这个按钮用来最大化或最小化脚本工具条。
12.Pin Active Script(引脚活动脚本)每次你改变脚本,先前的脚本在脚本窗口被替代。
这个按钮会迫使脚本保持在面板的底部,允许你方便的交换它们。
13.Script Assist (脚本帮助)这个按钮会发送一个固定的界面驱动脚本创作系统,本书不做讨论14.Menu(菜单)打开脚本面板菜单,本章后面讨论(二)输出面板(Output Panel)输出面板是一个非常简单,但是非常有用的文本输出面板,可以用来建设你自己对脚本的理解。