Flashaction代码格式及规范

2008-04-02 10:50:31来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  Actions acript 的每行语句都以分号 ";" 结束. 不同于 BASIC 语言, Actions cript 语句同 C , Java, Pascal 相同允许分多行书写, 即允许将一条很的长语句分割成两个或更多代码行, 只要在结尾有个分号就行了. 允许语句分行书写的唯一缺点是(至少对许多熟悉 BASIC 的人而言): 语句末尾不能忘记加分号. 语句分行唯一的限制是字符串不能跨行, 即两个分号必须在同一行.

  分行书写长语句也是个很好的排版办法, 例如下面的语句段(现在您不需理解下面的语句是什么意思, 在双斜杠后面是注释):

  


  
duplicateMovieClip( "MyOldMovieClip", //旧的 MovieClip 实例名

  "MyNewMovieClip", 999 ); //新复制的实例名和所在层次

  setProperty( "MyNewMovieClipNameIsNewMC", //要修改其属性的 MovieClip 实例名

  _alpha, "30"); //修改其透明度为 30%

  


  


  但是在 Flash MX 中似乎自动格式化功能不是很完善. 上面的代码能够运行通过, 但在使用自动格式化时会出错. 问题就在于插入其间的注释语句. 毕竟上面我写的例子并不是很好地符合 Flash MX 的语法规范(但按照 C 语言的语法来看是绝对没问题的), 所以请记住: 只有在语句很长或是很复杂的情况下才使用多行书写.

  


  
一个好的程式员会懂得在程式代码中加入注释. 但也许您会说: 没关系, 我知道我写的是什么. 但是假如您是在 1 个月后再读这段代码呢? 很明显, 您记不住. 所以多打几个字又有什么麻烦的?

  给 Actions cript 代码加注释使用下面格式:

  
statements; //这是单行注释, 由双斜杠开头,这行的后面部份都是注释内容

  statements; /* 这也是注释

  只但是能够换行 */

  
就这么简单(却又十分有用). 注意 /* 和 */ 已不建议使用了(因为必须配对, 所以经常会导致错误).

  除了注释, 增加代码可读性的另一途径是使用代码排版格式. 下面是一段具备高可读性的代码:

  
//计算 x 阶乘的函数

  function f(x) {

  if (x<=0) { //假如 x 小于等于 0 return 1; //返回 1

  } else {

  return x*f(x-1); //否则返回阶乘结果

  }

  }

  
Flash MX 之前版本必须由程式员自行编排代码格式, 而 Flash MX 的 Action 面板多了一个 Auto Format (自动格式化)按钮 , 能够用他来自动格式化代码(同时也会进行语法检查, 相当方便). 格式化的选项能够在 Action 面板弹出菜单的 Auto Format Options 项对应的对话框中配置. 下面是对 Actions 面板的一点介绍:

  语法着色和代码提示

  语法着色(Syntax Hightlighting)是许多编程语言的 IDE (集成研发环境)所具备的功能. Flash 也具备这项功能. 语法着色的颜色能够在 Action 面板弹出菜单的 Preferences... 项对应的对话框中配置.

  对此, 没什么好周详解说的. 只是希望大家能利用语法着色来发现错误和阅读代码.

  Flash MX 新增加的代码提示功能(Code Hints)对于熟悉 Visual Studio 6.0 版本的读者而言并不陌生. 例如在输入了一个对象名后再输入".", 就会显示相关的属性和方法列表; 在输入了函数名后输入"(", 就会显示相关的函数格式. 具体的可在输入代码时自己体会.

  语法规范 关键字

  关键字是任何一种语言程式的基本构造单位. 他是程式语言的保留字(Reserved Words), 不能被作为其他用途(不能作为自定义的变量, 函数, 对象名).

  Flash 的 Actions cript 中关键字不是很多, 下面的他们的列表:

  Flash MX Actions cript 的关键字

  break 跳出循环体 instanceof 返回对象所属的类(Class)

  case 定义一个 switch 语句的条件选择语句块 new 使用构造函数(Constructor)创建一个新的对象

  continue 跳到循环体的下一项目 return 在函数中返回值

  default 定义 switch 语句的默认语句块 switch 定义一个多条件选择语句块

  delete 清除指定对象占用的内存资源 this 引用当前代码所在的对象

  else 定义 if 语句返回为假时的语句块 typeof 返回对象的类型

  for 定义一个循环 var 声明一个本地变量(Local Variable)

  function 定义一个函数语句块 void 声明返回值类型不确定

  if 定义一个条件语句块 while 定义一个条件循环语句块

  in 在一个对象或元素数组中创建循环 with 定义一个对指定对象进行操作的语句块

  列出这些并不是需要您像背单词相同把他们背下来(这也是为什么中国的教育质量这么差的原因), 只是希望大家记住: 在 Flash 中有一些作为关键字的单词是不能随意使用的. 这在分析错误的时候是很有用的(特别对于初学者).

  语法规范---大小写敏感

  同 C 和 Java 相同, Actions cript 是区分大小写的.

  这就意味着: If 并不等于 if. 假如在代码中使用了 If, 在运行和检查时都会产生错误. 避免这种情况发生其实很简单: 多注意一下输入的代码是否自动地被语法着色了(Syntax Hightlighting).

  但是对于变量(Variable), 实例名(Instance Name)和帧标签(Frame Label), Actions cript 是不区分大小写的. 尽管如此, 我还是建议大家在书写代码时保持大小写一致. 这是个很好的习惯.

  语法规范---运算符

  除了关键字, 程式语言中最重要的组成部分就是运算符. 先不要说我死板, 因为不了解这些东西, 您什么也做不成.

  下面是运算符的列表, 运算符的优先级(即几个运算符出现在同一表达式中时先运算哪一个)从上到下递减:

  运算符 描述

   一元(Unary)加

  - 一元(Unary)减

  ~ 按位(Bitwise)逻辑非

  ! 逻辑非(NOT)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash用按钮来使影片递加滚动的action代码

下一篇: 选择相对或绝对路径