flash论文

您当前的位置:学术堂 > 计算机论文 > flash论文 >

Flash中的变量分类及其在课件制作中的运用

来源:学术堂 作者:刘老师
发布于:2014-06-14 共1409字

论文摘要

  1 Flash 中的变量分类

  Flash 中的变量有局部变量、 时间帧变量, 还有全局变量。

  1.1 局部变量

    凡是在函数中用关键字 “var” 来申明的变量都是局部变量, 特点是只能在此函数中调用。 下面举例说明。

  function test () {var myvar=“ 这是函数中的局部变量”trace (myvar)}

  test ()

    trace (myvar)

    输出错误是访问的属性 myvar 未定义, 因为是局部变量,只在 function 内有效

    1.2 时间帧变量

  在函数以外定义的变量, 包括用关键字 var 定义的变量都属于时间帧变量。

  可以在定义的时间帧里直接使用, 一般都是在时间帧的第一帧里定义的, 这样就方便在其他帧里调用了, 如果在其他时间帧里使用, 就要注意路径了。

  1.3 全局变量定义

  顾名思义, 就是可以整个文件中使用的变量。

  全局变量用基本格式为: _global.变量名, 可以在任何时间帧中调用, 不需要指明路径了。

  var _global.myName = “ Tom” ; // 全局变量的错误语法_global.myName = “ Tom” ; // 全局变量的正确语法ActionScript 中提供了 typeof 操作符 , 用于确定某一个变量的类型: typeof ( Variable ) ; 另外, Flash 中提供了两个类型转换函数。 Number 函数可以将一个字符串转换成数字, String函数可以将一个数字转换成一个字符串。

  总结: 全局变量在整个动画的脚本中都有效, 而局部变量只在它自己的作用域内有效。 声明局部变量需要用到 var 语句。 例如, 在下面的例子中, i 是一个局部的循环变量, 它只在函数 init 中有效: function init () { var i; for (i=0; i<10; i++){ randomArray [i] = random (100) ; } } 局部变量可以防止名字冲突, 而名字冲突可能会导致致命的程序错误。 例如, 变量n 是一个局部变量, 它可以用在一个 MC 对象中计数, 而另外一个 MC 对象中可能也有一个变量 n, 它可能用作一个循环变量, 因为它们有不同的作用域, 所以并不会造成任何冲突。 使用局部变量的好处在于减少程序错误发生的可能。 比如, 一个函数中使用局部变量, 那么这个变量只会在函数内部被改变,而一个全局变量可以在整个程序的任何位置被改变, 使用错误的变量可能会导致函数返回错误的结果, 甚至使整个系统崩溃。

  2 合理设计布局变量

    课件 7483 全加器模拟器 (图 1) 中很好的体现了局部变量的特性, 其上部 26 个输出变量 (图 1 中虚线的框是 Flash中的动态变量), 只在 function 内有效。

  在图 1 的 AS 层的第 6 帧, 如果不用函数 td (), 而采用时间帧变量 anfh1, 会导致程序选择 4bit 或 8bit 按钮时候, 会有遗留变量显示在加法器的显示窗口, 出现明显 bug。 采用以下部分代码很好地解决该问题:

  论文摘要

论文摘要

  采用函数 td () 能够很好地实现执行某个功能后全部清空td () 函数内的局部变量, 在点击按钮 4bit 或 8bit 时候, 不会有遗留错误结果。 同样道理, 在第 40 帧上也采用了函数, 这样 4bit 和 8bit 就互不影响, 程序正常运行。

  在采用上面方法之前, 已经用设计循环计数变量 I, 累次运行加 1 的设计方法, 在判断是否大于 1 的情况, 虽然也能够实现程序结果, 但代码繁杂, 很容易出错, 有 BUG 出现。

  3 结语

  局部变量只会在函数内部被改变, 而一个全局变量可以在整个程序的任何位置被改变, 这样会带来系统程序的风险。

  灵活巧妙地运用局部变量可以大大减轻程序设计的难度。

  参考文献

    [1] 孙颖。 Flash ActionScript3 殿堂之路。 杭州: 电子工业出版社, 2007.
  [2] 肖刚。 Flash 游戏编程教程。 北京: 清华大学出版社, 2009

相关内容推荐
相关标签:
返回:flash论文