`
shsoftit
  • 浏览: 3896 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

actionscript语法

阅读更多

Action Script基本语法

  变量与常量
   变量的名字不可是使用特殊符号,而且要尽量避免使用flash中已经存在的关键字。
   Flash 5中使用变量不需要预先申明,而且不区分局部变量和全局变量的申明。但是奇怪的是,Flash 5中却提供了var关键字,而且对var关键字说明是用于定义(局部)变量,但是笔者经过测试,发现完全不用使用var来申明一个变量,而且所谓传统意义上的局部变量申明根本不起作用。请看下面一段程序:
   Function test(){
   Var x;
   x+=1;
   }
   x=1;
   test();
   程序执行完毕之后,x的结果将是2;
   申明变量的好处在于可清楚掌握变量的生命周期,能增强程序的可调试性和易读性。Flash 5提供了delete关键字,在一个变量生命周期结束的时候可以用delete来释放这个变量。请看下面的程序:
   var y;
   function test(){
   var x;
   x=2;
   y=x-1;
   delete x;
   }
   test();
   执行结果为y=1,变量x被释放;这样看起来x好象起到了局部变量的作用。但是假如您在程序中还有一个全局变量x的话,test函数中的var变量申明将会被忽略,对x的任何引用和赋值都是针对全局变量x,如果不注意的话,将导致程序的异常。
   但是,还有一种特殊的情况,局部变量和全局变量将被区分开来。那就是函数调用时候的参数,将作为函数中的一个局部变量,对参数变量的任何赋值并不会影响同名的全局变量。如下所示的例子:
   x=3;
   function test(x)
   {
   x=1;
   a=x;
   }
   test(x)
   程序执行之后的结果是a=1,x=3。从这个例子可以看出test函数中的x参数的确是作为函数内部的局部变量来处理了。
   除了上面的特例之外,在Flash 5中,并非没有局部变量的概念。局部变量只能存在于某一个Movieclip之中,换一句话说,就是一个MC中定义的变量相对于整个场景来说将成为该MC的局部变量。比如一个名字为test的MC,其中定义了一个MC参数x,那么这个参数x将只会在该MC范围内起作用,在该MC中对x的赋值将不会影响全局变量x,也当然不会影响其它MC中的x变量喽。
   Flash 5还提供了一些常量,使用非常方便。如常量对象Mouse、Key、Math等。这些对象不可以用来初始化一个实例对象,只能被直接调用,如Mouse.hide()就可以隐藏鼠标,而Math.PI就代表圆周率了。关于这些对象的详细说明请参看附录。

  操作符
   Flash 5提供的操作符全部列表在下面,用法完全相同于Java script。
   算术操作符
   *  乘号 + 加号 - 减号 / 除号
   ++ 变量自加一 -- 变量自减一 % 取余数

  逻辑操作符
   !  逻辑非 != 不等于 && 逻辑与 < 小于
     <= 小于等于 <> 不等于 == 相等   > 大于
     >= 大于等于   and 逻辑与 not 逻辑非 or 逻辑或
   | |  逻辑或

  位操作符
    &  位与    |  位或 ~  补位 ^ 位异或
    << 位左移   >> 位右移   >>> 位右移(无符号)

  复合操作符
    %= A%=B 等效于 A=A%B
    &= A&=B 等效于 A=A&B
    *= A*=B 等效于 A=A*B
    += A+=B 等效于 A=A+B
    -= A-=B 等效于 A=A-B
    /= A/=B 等效于 A=A/B
    <<= A<<=B 等效于 A=A<<B
    >>= A>>=B 等效于 A=A>>B
    >>>= A>>>=B 等效于 A=A>>>B
    ^= A^=B 等效于 A=A^B
    |= A|=B 等效于 A=A|B

  字符串操作符
  add 连接两个字符串
  eq A eq B 字符串A值与字符串值B相等
  ge A ge B 字符串A值大于等于字符串B值
  gt A gt B 字符串A值大于字符串B值
  le A le B 字符串A值小于等于字符串B值
  lt A lt B 字符串A值小于字符串B值
  ne A ne B 字符串A值不等于字符串B值

  其它
   "" 字符串 () 括号 = 赋值
     typeof 返回变量类型

  条件语句
   if语句
   if语句的一般形式是:
   if(条件表达式)
   { …}
   else{ …}
   else if(判断条件){ …}
   ….
   else if语句可以有无限多个。
   Flash 4中使用的是VB Script语法: if… else if… end if,在Flash 5中不再适用。

  IfFrameLoaded语句
   IfFrameLoaded语句的一般形式是:
   ifFrameLoaded(<场景名称>,<桢编号>)
   { …}
   该语句为Flash特有的条件语句,用于判定某个桢是否已经被载入。
   该语句的详细解释及其例子请参看附录。
   Flash 5中不支持switch语句。

  循环语句
   Flash 5提供了四种循环语句,其中前三种是大家所熟悉的Java script循环语句,而第四种却是Flash 5所特有的循环语句。
   Do语句
   Do语句的一般形式是:
   Do
   循环体
   while(条件表达式);

  while语句
   while语句的一般形式是:
   while(条件表达式)
   循环体

  for语句:
   for语句的一般形式有两种:
   for(初始化语句;条件表达式;递增语句)
   循环体

  for(递增语句 in 对象)
   循环体

  流终止语句
   在Flash 5中提供了三种流终止语句。Bread语句用于退出循环语句和标号块。continue语句用于跳转道循环体末尾最后一行语句。Return语句用于退出一个方法或程序体。他们的用法与Java script中用法相同。

  跳转语句
   Flash 5中提供了goto语句,值得注意的是它是Flash 5特有的语句,其用法并不同于其它高级语言中的goto语句。Flash 5中的goto语句是专门用于在不同的桢和场景中进行切换的。根据所填写参数的不同,goto语句还有几种不同的变形形式,如下:
   gotoAndPlay( [场景名,]<桢编号|桢标签|表达式>);
   根据编号或者标签或者表达式结果,跳转到某一特定场景的某一个特定桢,并且继续动画的播放。
   gotoAndStop( [场景名,]<桢编号|桢标签|表达式>);
   根据编号或者标签或者表达式结果,跳转到某一特定场景的某一个特定桢,并且停止动画的播放。
   gotoAndPlay( <桢编号|桢标签|表达式> );
   根据编号或者标签或者表达式结果,在同一个场景中跳转到某一特定桢,并且继续动画的播放。
   gotoAndStop( <桢编号|桢标签|表达式> );
   根据编号或者标签或者表达式结果,在同一个场景中跳转到某一特定桢,并且在该桢停止动画的播放。
   nextFrame();
   跳转并停止在下一桢。
   prevFrame();
   跳转并停止在上一桢。
   nextScene();
   跳转到下一场景。
   prevScene();
   跳转到前一场景。
   通过goto语句可以灵活的实现场景的切换和桢流的控制,特别是在结合标签的使用后。

  标签
   Flash 5中的标签是专门用于标识一个桢的,程序中无法定义一个标签。标签的唯一用途就在于给一个桢起一个有意义的名字。标签的合理利用可以大大提高程序的可阅读性和可维护性,不仅是利于掌握动画流程,而且利于程序的结构化和代码重用。当然,在Flash 5中已经提供了定义函数的方法,但是标签所起到的作用却仍然是不可替代的。利用标签来控制动画流要比用桢编号好的多,相信有经验的用户都已经深有体会;而用标签来实现一个函数的定义和调用也是相当的简洁明了的,您至少可以很快的找到您所定义的函数在什幺地方,而这是function所定义的函数所不能达到的。但是,用一个标签结合一个桢定义函数不能够传递参数,唯一的方法就是通过全局变量来实现。
   引用一个标签的Action只有goto语句和call语句。

  函数
   Flash 5中函数定义的一般形式是:
   function <函数名> (参数表)
   { 函数体 }
   Flash 5中的函数无需定义返回类型,但是它可以返回任何一种类型的值。函数只可以传递值参,参数只在函数体内起作用,相当于该函数内部的局部变量,它们的生命周期随着函数生命周期的结束而结束。为函数返回一个值可以使用return语句。函数不支持递归调用,但是当递归调用函数的时候,语法检查并不报错,只是递归函数执行结果将与预期的结果不同。
   例:
   function test( x, y )
   {
   x=1;
   y=2;
   return x+y;
   }
   x=3;
   y=4;
   a=test(x,y);
   b=x+y;
   程序运行后结果如下:
   x=3, y=4, a=3, b=7;
  除了自定义函数以外,Flash 5还提供了一些所谓的“库函数”,至于库函数有哪些,请参看附录

分享到:
评论

相关推荐

    Actionscript语法详解

    ### ActionScript语法详解 #### 一、概述 ActionScript是一种面向对象的编程语言,主要用于Adobe Flash Player和Adobe AIR上创建动态交互式内容。它最初由Macromedia开发,并随着Flash的发展而演进。ActionScript ...

    ActionScript语法参考手册

    ### ActionScript语法参考手册知识点详解 #### 一、AS3.0运算符 ActionScript (简称 AS) 是一种面向对象的脚本语言,主要用于Flash平台的编程。随着版本的更新,ActionScript发展到了AS3.0阶段,其语法更加成熟且...

    Flash_ActionScript语法综合

    2. **点语法**:在ActionScript中,我们使用点语法来访问和操作对象的属性和方法。例如,`_root.plane.gotoAndplay(2);` 将舞台上的plane影片剪辑移动到第2帧并播放。 3. **数据类型**:ActionScript 支持多种数据...

    flash actionscript 2.0 语言参考,中文,清晰,pdf

    《Flash ActionScript 2.0 语言参考》是学习和掌握Flash编程不可或缺的资源,尤其对于初学者和希望深入理解ActionScript的开发者来说,它提供了详尽的语法和功能介绍。ActionScript是Adobe Flash平台上用于创建交互...

    ActionScript 3.0语法参考手册

    ### ActionScript 3.0 运算符详解 #### 一、加法运算符 `+` 加法运算符用于将两个数值相加。在ActionScript 3.0中,它还可以用于字符串连接。 **示例代码:** ```actionscript var x:Number = 5; var y:Number = ...

    Actionscript3.0基础语法

    ActionScript 3.0 的基础语法是理解Flash和Flex开发的关键。 首先,我们要了解ActionScript 3.0中的显示对象(DisplayObject)体系。DisplayObject 类是所有可显示元素的基类,包括交互对象和非交互对象。交互对象...

    actionscript for multiplayer Games and virtual worlds_源码

    这不仅有助于学习ActionScript语法,还能提升对游戏和虚拟世界开发的整体认知。 综上所述,这份资料是ActionScript开发者和对构建多人游戏或虚拟世界感兴趣的初学者宝贵的资源。通过学习和实践,可以提升...

    Java2ActionScript 工程源码

    这个过程涉及到对Java语法的深入理解和ActionScript语法的映射。 2. **类型映射**:由于Java和ActionScript的数据类型和类库存在差异,转换过程中需要处理类型转换问题。例如,Java的`ArrayList`可能需要映射到...

    Flash ActionScript 图片播放器3

    开发这样一个图片播放器,需要掌握基础的ActionScript语法,理解事件监听和处理、对象和类的概念,以及如何与Flash图形元素进行交互。同时,对XML或JSON等数据格式的理解也很重要,因为它们通常用于存储图片信息和...

    ActionScript 范例(part0)

    通过深入研究这个“ActionScript 范例(part0)”,初学者不仅能学习到基础的ActionScript语法,还能了解到如何将这些知识应用于实际项目,从而开启创建动态和交互式的Flash内容之旅。这部分内容对于进一步掌握Flash...

    asv2010actionscript viewer

    ASV2010ActionScript Viewer是一款专门用于查看和分析ActionScript代码的工具,主要针对Adobe Flash平台。ActionScript是Adobe ...通过深入理解ActionScript语法和使用该工具,开发者可以提高工作效率,提升代码质量。

    PS-FL-DW工具库.rar

    ActionScript语法参考手册则专注于语言的规则和细节,提供了函数、类、方法的完整列表,是开发者查找API和解决问题的重要工具。它通常包含详细的函数参数、返回值、示例代码以及注意事项,有助于提高开发效率并确保...

    Flex 3高级动画编程

    首先,了解基本的ActionScript语法是必要的,包括变量、数据类型、条件语句、循环和事件处理。然后,深入到ActionScript的面向对象特性,如类、继承、封装和多态,这些都是创建可重用动画组件的基础。 在Flex 3中,...

    FLEX講解

    从给定文件中提取的关键知识点主要集中在FLEX开发流程、ActionScript语法以及与SystemDirector Enterprise for Java (简称SDE Java)相关的应用开发方法上。以下是对这些知识点的详细阐述: ### FLEX开发流程 FLEX...

    ActionScript 3.0编译器编译错误大全

    当代码不符合ActionScript语法规则时,编译器会报告此错误。常见的原因包括括号不匹配、分号遗漏或拼写错误。 ### 错误1010:`override`关键词误用 `override`关键词仅用于覆盖父类中的方法。如果在一个非子类方法...

    flash_extending_reference.pdf

    本文档还假定您熟悉 JavaScript 或 ActionScript 语法以及函数、参数和数据类型等基本编程概念。 利用 Flash JavaScript API 可以编写在 Flash 创作环境中(即用户保持 Flash 程序打开期间)执行多个动作的脚本

    基于Java的实例源码-的Flash解析、生成器 jActionScript.zip

    ANTLR生成的解析器不仅效率高,而且易于维护,这使得jActionScript在处理ActionScript语法时表现出色。 在实际应用中,jActionScript可以广泛应用于游戏开发、教育软件、交互式应用等领域。例如,开发者可以利用...

    Java 5与ActionScript3 语法比较.doc

    Java 5与ActionScript3 语法比较

    Flash中ActionScript语言的使用分析 pdf

    Flash MX 2004引入了ActionScript 2.0,带来了变量类型检测和新的Class类语法。该版本的变量类型在编译时会进行强制类型检测,而新的Class类语法则类似于Java语言中的定义,为用户提供了熟悉的风格和组织分离出来的...

Global site tag (gtag.js) - Google Analytics