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
互联网从诞生到繁荣的每个阶段,HTML这个简单而强大的标记语言都发挥着举足轻重的作用。从简单的新闻列表到复杂的在线表格应用,结合JavaScript、CSS,前端工程师用这些简单的标记创建出一个个改变人们生活的应用。一、引言现在使用最广泛的HTML4.0.1标准...
1引言自Flash软件诞生以来,以其强大的功能和简便的操作,已经成为了交互式矢量图形和Web事实的标准,不但可以灵活的表现图形,声音,视频等效果,还因为它自带有AS的编程语言,从而使得它可以支持面向对象的程序设计,大大提高了它的开发与设计效率...
伴随着我国社会经济的不断发展,也相应的促进了我国计算机行业的发展,二维动画技术也得到了迅速的发展。尤其是Flash动画技术得到了广泛的应用,利用它设计制作的二维动画与矢量图形可以方便地应用到Web页上,在生活中和工作中,人们已经离不开Flash动画...
Flash包含传统文本和TLF文本两种文本引擎,但这两种文本引擎又分别包含不同的文本类型。传统文本是Flash中早期的文本引擎,随着版本的升级仍然可以使用,但随着TLF文本功能的增强,将会被TLF文本代替;静态文本用于创建影片中不需要发生变化的文本,如标...