flash语法结构
Flash基础语法

Flash基础语法Flash是一款广泛应用于媒体和广告等领域的多功能软件,具有可视化编辑和强大的交互功能。
在Flash开发中,语法是非常重要的一个部分,它决定了程序的可读性和逻辑性。
本文将介绍Flash 的基础语法。
1. 变量在Flash中,变量是用来存储数据的容器。
Flash中的变量可以用字母、数字和下划线组成,但不能以数字开始。
同时,Flash还有三种变量类型,分别是number、string和boolean。
其中number 表示数值类型,string表示字符串类型,boolean表示布尔类型。
在Flash中声明变量需要使用var关键字,例如:var age:number = 18;var name:string = "张三";var isMale:boolean = true;2. 运算符Flash中的运算符和其他编程语言相似,包括算术运算符、比较运算符、逻辑运算符等等。
算术运算符包括加(+)、减(-)、乘(*)、除(/)、取余(%)等,例如:var a:number = 10;var b:number = 3;trace(a + b); //输出13trace(a - b); //输出7trace(a * b); //输出30trace(a / b); //输出3.33333trace(a % b); //输出1比较运算符包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)等,例如:var a:number = 10;var b:number = 3;trace(a == b); //输出falsetrace(a != b); //输出truetrace(a > b); //输出truetrace(a < b); //输出falsetrace(a >= b); //输出truetrace(a <= b); //输出false逻辑运算符包括“与”(&&)、或(||)、非(!)等,例如:var a:boolean = true;var b:boolean = false;trace(a && b); //输出falsetrace(a || b); //输出truetrace(!a); //输出false3. 条件语句Flash中的条件语句包括if语句和switch语句。
FLASH 脚本 语法

FLASH 脚本语法1、FLASH脚本基础入门讲解、按钮AS的编写、影片剪辑的AS编写认识“动作”面板在Flash中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。
按【F9】键调出“动作”面板,可以看到“动作”面板的编辑环境由左右两部分组成。
左侧部分又分为上下两个窗口。
左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。
下方是一个“脚本”导航器。
里面列出了FLA文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。
双击脚本导航器中的某一项,则该脚本会被固定。
右侧部分是“脚本”编辑窗口,这是添加代码的区域。
可以直接在“脚本”窗口中编辑动作、输入动作参数或删除动作。
也可以双击“动作”工具箱中的某一项或“脚本编辑”窗口上方的【添加脚本】工具,向“脚本”窗口添加动作。
在“脚本”编辑窗口的上面,有一排工具图标,在编辑脚本的时候,可以方便适时的使用它们的功能。
?在使用“动作”面板的时候,可以随时点击“脚本”编辑窗口左侧的箭头按钮,以隐藏或展开左边的窗口。
将左面的窗口隐藏可以使“动作”面板更加简洁,方便脚本的编辑。
好了,动作面板就介绍这些,有个印象,不要求记住,工具栏上每个工具的作用和功能将在以后的课程中边用边熟悉。
如何编写flash中的脚本首先,要知道编写脚本,不需要用户对AS有完全的了解!现在要考虑的问题是,如何在你的flash中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键桢上面(注意,必须是关键桢上才可以添加脚本)。
二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。
此外,大家也需要简单理解一下flash是如何执行你编写的脚本的。
Flash最常用AS语法及语句总结13页word

Flash最常用AS语法及语句总结Flash最常用AS语法及语句总结2019-05-13 11:12Flash最常用AS语法及语句总结Flash最常用AS语法及语句总结■FLASH按钮+链接on(release){getURL("相应链接");■用flash做那种弹出的小窗口分两步:1.给flash中的按钮加入如下action:on(release){getURL("");2.在HTML页面的head./head之间加入下面的","_self","POST");注意要将网页中的flash的ID号命名为"links"on(release){getURL("window.external.AddFavorite('网页');","_self","POST");}■产生随机数产生6--20之间的5个不重复的随机数1):首先产生一个随机数,放在数组对象中的第一个位置;2):产生一个新的随机数.3):检查新产生的随机数和所有目前已产生的随机数是否相同,若是相同则返回(2),否则返回(4)4):将新的随机数加入数组对象中下一个数组元素内.5):检查数组对象个数是否已达到5个,若是跳到(6),否则返回(2)6):结束.AS代码如下:data1=newArray(5);tot=1;data1=[tot-1]=random(20-6+1)+6;do{gen_data=random(20-6+1)+6;reapeat_data=0;for(i=0,i=tot-1;i++){if(gen_data==data reapeat_data=1;break;}}if(reapeat_data==0){tot++data[tot-1]=reapeat_data;}}while(tot 5);trace(data1);■flash一打开就是全屏这里说的方法只是用于flash Player(fp)■如何禁止右键菜单fscommand的方法还是只能适用于fp,在网页中使用还是必须添加额外的参数PARAM value="false"或者用最简单的一句as,在fp和网页中均适用:Stage.showMenu=false;■载入动画loadMovie("dd.swf",a);//这里没有引号~■播完动画后自动跳到某网页getURL("siteindex.htm","_self");//注意这里有引号。
Flash 中的AS 编程环境和语法结构特点

Flash 中的AS 编程环境和语法结构特点摘要:各种编程语言都有各自的编程环境和语法结构的特点,该文主要介绍flash中actionscript的编程环境和语法结构的特点。
关键词:影片剪辑;对象;事件中图分类号:tp311 文献标识码:a 文章编号:1009-3044(2013)15-3622-03学过动画制作的人都有这样一个体会,要制作出一个好的flash 动画,使用as编写动作脚本是必不可少的,即使只是很简单的几句代码,也会在整个flash动画中起到画龙点睛的作用。
然而,as 又有别于其他的编程语言,它的编程环境、语法结构有自己的特点和规则,需要我们在使用之前有一定的了解。
1 as的编程环境选取某一桢、某一个按钮或某一个影片剪辑元件的实例,右键打开动作面板,就进入了as的编程环境。
1)帧:要把as写在桢上,需要选取这一桢,右键打开动作面板。
写在关键帧上面的as,当时间轴上的指针走到这个关键帧的时候,写在这个帧上面的as就被触发执行了。
实例:选取影片结尾的一个关键帧,然后打开as面板,在桢上写入stop()。
那么在播放影片的时候,播放到最后一桢时,将会停止。
2)按钮:要把as写在按钮上,需要点选目标按钮,右键打开动作面板。
与帧上的as不同,按钮上面的as是要有触发条件的。
实例:要实现按下按钮后停止播放影片,那么我们需要做一个按钮,放到主场景,点选按钮,然后打开as面板。
如果在按钮上写stop();那么,输出的时候就会提示错误。
正确的应该这样写:on(release){stop();}整个代码翻译过来就是:当(松开鼠标){停止播放}。
写在按钮上面的as的格式应该是:on(发生的事件){要执行的动作代码} 3)影片剪辑mc:写在mc上面的as和写在按钮上的大同小异。
首先点选mc,然后右键打开as面板。
实例:要实现播放影片时先停止场景中影片剪辑mc的播放,需要先点选影片剪辑mc,在打开的动作面板上输入如下代码:onclipevent(load){stop();}整个代码翻译过来就是:当影片剪辑(载入){停止播放}。
FlashMX动画设计教程第10章 ActionScript的语法规范

10.1.3 “{ }”语法(大括号语法) 语法( 语法 大括号语法)
大括号“{}”可以把一段Actions代码括起来,用于 分割一段程序区。括号中的代码组成一个相对完整的 代码段来完成一个相对独立的功能。在子程序、函数 或者函数组中,这种代码用得比较多。
语法( 10.1.4 “( ) 语法(圆括号语法) ( )”语法 圆括号语法)
10.2.5 影片剪辑 影片剪辑(MovieClip)类型 类型
10.3 ActionScript变量
10.3.1 命名变量
变量的命名规则如下: 开头的第一个字符必须是字母,不能是非字母元件。 变量名必须是一个合法的ActionScript标识符,不可 以是关键字或文字标识值。 变量必须有唯一的自身变量范围。 如果在定义时不明确一个变量的类型,则Flash MX 会在为变量赋值时自动确定它的数据类型。例如: x="hello"会将x的类型设定为字符串。尚未赋值的变 量的类型为“undefined”。
10.2 ActionScript的数据类型
10.2.1 字符串 字符串(String)类型 类型
10.2.2 数值类型
10.2.3 布尔 布尔(Boolean)类型 类型
布尔类型的值只能为“真”或“假”。在 ActionScript中的“真”、“假”也可以和“1”,“0” 进行转化。同样的,也可以用“1”,“0”来给布尔类 型变量赋值。
第10章 ActionScript的语法规范 章 的语法规范
本章要点: ActionScript的基本语法 ActionScript的数据类型 ActionScript程序中的变量 ActionScript程序中的操作符
10.1 ActionScript的基本语法
Flash语法详解

用法2:用于获取数组中的项
如:myArray[0] = "red"
用法3:用于获取对象或影片片段的成员
如:account = myObject["account"] <=> account = myObject.account
statement(s)
**
当场景scene的帧frame已经载入时,执行statement(s)。
3、循环语句({**内语句数为1时{**可省):
while (expression) {
statement(s)
**
当expression的值为true时反复执行statement(s)直到expression的值为false。
- 取负 -expression
+ 加 expression1 + expression2
- 减 expression1 - expression2
* 乘 expression1 * expression2
/ 除 expression1 / expression2
% 求余 expression1 % expression2 12 % 5 -> 2
、影片片段,都指代obj_mc的成员。
tellTarget (mc) {
statement(s)
**
对mc进行操作,凡用到的变量、函数、影片片段,只要未指明绝对路径,都指代mc
的成员。
5、函数及事件:
function func(variable1, variable2, ...) {
FLASH语法

Flash 词法结构完全掌握Lewi(刘艺)版权声明:本文中的内容,未经许可,不得以任何手段和形式进行复制、抄袭、再造文中的内容!如需转载请注明。
写在前面前言本教程所要讨论的内容包括 Flash词法结构的所有知识,在接下来的内容中我们将接触点、 空白、语句终结符、注释、保留字、标识符等知识点。
最后我们会全面了解 Flash词法结构 的所有内容。
本教程不是为 WEB 开发者或者大网络公司创作部门的成员所准备的,它属于 ActionScript 程序员所必需掌握的基础知识,如果你是初级学者那么这本教程能够很好的指导你看懂 Flash ActionScript 的基本语法结构。
本教程中并没有包含诸如对象、类、服务器通信以及 XML、组建等高级主题,如果你需要更高等的信息可以阅读更多关于我的教程。
本教程设计的目的是本教程所介绍的知识实实在在, 能够被你立即应用,而不是纯粹的理论 而束之高阁,你再学习完本教程后尝试阅读 ActionScript 代码,看看你前进了多远。
如何更好的使用本教程你在阅读本教程的时候并不需要专业的编成知识,即便是你对 ActionScipt 一无所知。
你需 要的是学习的热情,只要你认真地通读你会学到知识的,相信我!如果愿意接受来自我更多 的激情,请关注我(lewi)的更多教程。
建议与评论尽管我做了最大的努力保证我们的课程都基于专业产品——正确、充实、丰富、直观,但错 误、疏忽和个人水平的不足是难说避免的, 如果你发现有什么错误或者对此教程有什么看法 和建议请通过下面的方式告诉我:我的成长需要你的关注!QQ:15873393 // 谢绝聊天…^_^…Email:lewi_workshop@ lewiworkshop@ lewiworkshop@最后你可以通过快速回复主题来提交你的看法或者建议词法结构空白我请你先记住一个抽象的定义:空白是指代码行中用不同方式插入的空白集合。
不要晕,我 说过它很抽象,我会把它讲的很通俗,空格包括空格键插入的空格、Tab 键插入的缩进、以 及回车(也就是分行)。
flash内置语法

FLASH语法合集之一、內置指令(ACTIONS)(内含实例代码原文件)方便大家学习参考一、內置指令(ACTIONS)01.循环控制BREAKbreak 从循环/区块中跳出快捷键:ESC+b+r功能说明:用来中断循环的进行,以进行循环外的下一行程序,通常与循环(for,for...in,do...while或while)一起搭配使用,尤其像使用嵌套循环(nested loops)的时候,可减少不必要的循环运算。
break是终止并跳出while或for的循环运算,继续执行循环外的下一行程序;continue可终止while 或for循环中continue后面所有表达式(statements)的执行,并继续执行while 或for的下一个循环运算。
CONTINUEcontinue 从头开始继续执行循环/区块快捷键:ESC+c+o功能说明:用来中断目前循环的进行,并继续执行循环中的下一个循环,通常与循环(for,for...in,do...while或while)一起搭配使用,尤其像使用嵌套循环(nested loops)的时候,可减少不必要的循环运算。
02.函数控制CALLcall 调用帧的程序快捷键:ESC+c+a功能说明:调用某特定帧并执行的frame script,其作用类似调用子程序。
语法: call (frame)frame: 被调用的帧,可以是帧的名称或帧的编号。
注意:1)当script内执行到call指令的时候,程序会从原本的script跳至指定的帧,并执行该帧的script,执行完毕后在跳回原本的script继续执行。
2)程序跳跃的时候,时间轴的播放头(playhead)并不会真的跳到call指令所指定的frame。
3)被调用的frame script 一旦执行完毕,script里的局部变量local variables 就不复存在。
4)flash 5 里已经不建议使用call指令,并且建议使用function指令的功能代替原有的call 指令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash脚本的基本元素有:变量、数组、对象、影片片段、影片片段)属性和函数。
其中数组(一种特殊的对象)、对象(包括一些预定义对象,如Math)和自定义函数是Flash5中新增的内容。
关键词#include "..." varnew deleteif...else... ifFrameLoaded(...)...for(...)... for(...in...)...do...while(...) while(...)...break continuetellT arget(...)... with(...)...function ...(...){...} returnon(...){...} onClipEvent(...){...}3、语句书写格式Flash脚本的语句书写基本上与Java和C/C++语言相同。
一条语句可分几行写,也可在同一行中写多个语句。
不同之处有以下几点:(1)当不会与后一语句产生歧义时,语句末尾的“;”可以省略,但为了分隔同一行内的多个语句则必须要加。
比如:a =b =c = 1trace(a); trace(b); trace(c);不过我们为了统一起见,还是提倡一律如C语言那样加上分号。
(2)变量、对象等无须定义(用var可定义其局部性)就可直接赋值使用,在未赋值前所有标识符都代表一个值为空的无类型变量。
同一标识符可反复赋予不同类型的值。
(3){}可以在任何地方成对加,但无任何实际效果(var只对函数体有效,这在后面会讲到),不象C/C++语言那样有局部作用域功能。
比如:if (a==1) {var a = 0;}trace(a);将输出0,而在C/C++中会输出1。
(4)函数可以在任何地方定义。
甚至可以把一个函数定义在另一个函数的体内,就象下面这段程序:function myFunction1() {function myFunction2() {trace("2");}trace("1");}myFunction1();myFunction2();将输出:12想想看如果把上面两个函数都定义成myFunction1会有什么结果?呵呵,结果是输出两个2,道理相信您一定想得明白。
二、点语法对象与目标路径的使用Flash ActionScript里最基础但也往往是最不容易搞清楚的恐怕就要算点语法对象和目标路径的使用了。
不用说初学者常常不知道什么时候该用点语法对象,什么时候该用目标路径,就连能熟练运用三维显示技术的闪客高手有时也会因为概念混淆而用错,而这种错误又往往是最难发现的。
所以,我把它放在第二节来介绍,同时也顺带讲一下与此密切相关的一些指令和函数的使用。
1、形式与含义形如 a.b.c 的表达形式即为点语法对象。
它可以指代变量、数组和对象,也可以指代影片片段、属性和函数。
比如:anyObject.ab[12].anyArray_root.anyMovieClip._xanyMovieClip.anyFunction等都是合法的点语法对象形式。
一般把这种表示形式与Java或C/C++语言中的类与成员、成员函数的表达相类比,但要注意的是FAS里更强调的是对象的层次,甚至还有_parent、_root之类相对路径的表示形式,它并没有继承等面向对象语言的标准概念。
所以说把它理解为地址或者路径似乎更为恰当一些。
形如"a.b/c" 或"a/b:c" 的为目标路径。
它是一个字符串,可以指代变量和对象,也可以指代影片片段和属性,但不能指代数组和函数。
它的分隔符可以有"."、"/"和":"三种,其中"/"后跟对象和影片片段,":"后跟变量和属性,"."则都可。
不同的分隔符可以混合使用。
比如:"anyObject:a""_root/anyMovieClip._x"等都是合法的目标路径形式。
除了点语法对象是变量形式而目标路径是字符串形式这一根本区别外,它们所表示的含义完全相同,只是在使用上各有侧重而已。
2、具体使用当我们要对某一已知名称的变量或对象等操作时,应选择点语法对象表达。
比如对变量或属性赋值:myMovieClip._xscale = 150;myObject.index = 16;_parent.myObjectArray[14].index = 10;又比如调用函数:myMovieClip._x = myMath.square(length);当我们要对某一不定名称的变量或对象等操作时,应选择目标路径表达。
比如对一批影片片段的某一属性赋值:for (i=1;i<10;i++) {set ("myMovieClip"+i+"._x",20*i); // 2.1式}有时我们又要把它们联合起来使用,以弥补点语法对象无法表达不定名称及目标路径无法表达数组和函数的不足。
比如对一批影片片段下的某一对象数组赋值:for (i=1;i<10;i++) {eval("myMovieClip"+i+".myObjectArray")[0].index = i; // 2.2式这是Flash5中所提倡的用法。
所以,从某种意义上来说,目标路径可以看作是在表示源代码。
注意:有时点语法对象也被当成字符串来用,比如:a = anyMovieClip+"1",a的值就为"_level0.anyMovieClip1"。
但本质上其实是系统在执行+"1"前自动内部执行了String(anyMovieClip)而已。
其他情况也是一样。
3、相关函数与指令eval(expression)是与点语法对象和目标路径的使用有关的最常用的函数。
它的实质是把目标路径转化成点语法对象。
系统先把expression 自动转化成字符串,相当于调用了一次String(expression),得到"expression_string"的形式。
这时的"expression_string"必须为目标路径形式(否则无返回值),然后返回"expression_string"所指代的内容。
为什么说是内容而不说是值呢?这是因为eval(expression)的返回值实际上是一个点语法对象。
比如:eval("anyMovieClip"+1)._x = 200;仍是合法的语句。
如果说._x的左边是一个值似乎就不合适了。
类似的如前面提到的2.2式。
故对于形如:c = a+eval("b");的理解(设b的值为1)不应为c=a+1,而应该是c=a+b。
在处理形如上述2.1式的表达式时,Flash5推荐使用eval函数,即写成:for (i=1;i<10;i++) {eval("myMovieClip"+i)._x = 20*i;}另当"expression_string"指代的是一个影片片段时,返回的是形同_level0.anyMovieClip的绝对路径形式,所以就不能使用如_root.eval(expression)之类的调用了。
with与tellTarget也是与点语法对象和目标路径密切相关的指令。
其中with是Flash5中新增加的。
它们的使用格式相同:with (expression) {...}tellT arget (expression) {...expression可以是点语法对象,也可以是目标路径。
对于with来说,expression可指代对象和影片片段,而对于tellT arget来说,expression 只能是影片片段。
虽然它们形式上极为相仿(尤其当expression同指影片片段时),但处理过程却并不相同。
试比较(a非myMovieClip的成员变量):a = 1;with (myMovieClip) {trace(a); // 2.3式}与a = 1;tellT arget (myMovieClip) {trace(a); // 2.4式}前者输出1,而后者输出空值。
原因是tellT arget对它所包含的语句中的所有变量、对象等都加上expression所表示的路径,而with只对其中expression所指对象或影片片段内已经定义过的变量、对象等加上expression所表示的路径。
所以2.3式就相当于with外的:trace(a);而2.4式就相当于tellT arget外的:trace(myMovieClip.a);当然,如果a本就是myMovieClip的成员的话,二者的输出就一样了。
三、自定义函数的运用加入函数这一概念可能是Flash5对动作脚本语言的改进中最令闪迷们感到兴奋的内容了。
因为在老版本的FAS中,为了实现三角函数之类的函数功能,Flash动画制作者们不得不在一大堆一大堆的set指令和call 指令之中漫游,既不方便执行效率又低,而且还常常为了逃避该死的“200000行”限制(此限制已在Flash5中取消)而绞尽脑汁、机关算尽。
现在有了函数,朋友们,我们还怕什么呢!可能有些熟悉Java或C/C++编程的闪客们要说了,函数不是很平常的概念嘛,有什么好讲的。
其实没那么简单。
既然笔者把它单独拎出长长的一节来作介绍,就一定有其不同寻常之处。
下面我们就来看看它有什么神秘面纱。
为了突出重点,本节只讲有关自定义函数的使用,系统指令函数及预定义对象的成员函数留待以后再讲。
1、自定义函数的形式及功能按照Flash5 ActionScript联机帮助中的正统解释,自定义函数的表达形式分为有名函数与无名函数两种。
具体如下:function functionname([argument0,argument1,...argumentN]) {statement(s)}function([argument0, argument1,...argumentN]) {statement(s)}其中有名函数可用来作为一般意义上的函数或自定义对象的构造函数;无名函数专门用来为自定义对象加载方法(即成员函数)。
以下为这三种功能的实例:(1)用作一般函数(特点:可有返回值):function add10(x) {return x+10;}trace(add(10));(2)用作构造函数(特点:利用this为对象的成员赋值,this为必须):function box(l,t,r,b) {this.left = l;this.top = t;this.right = r;this.bottom = b;}(3)用作为自定义对象加载方法(特点:在构造函数名后加.prototype 表示加载方法,这也是必须的):box.prototype.area = function() {return (this.right-this.left)*(this.bottom-this.top);}2、函数语法的深入分析的感觉:有名函数在用作构造函数时怎么那么别扭,既然已经是构造函数了,为什么对成员赋值还非得加上this?为对象加载方法又为什么必须要加上一个讨厌的.prototype,而且看上去好象还非要用无名函数来定义。