当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash 动作脚本之:了解Action Script2.0 (3)

Flash动画制作
Flash AS 3.0实例教程:用Tween类制作缓动动画
Flash AS2实例教程:制作镭射闪光字动画效果
Flash AS2基础教程:一步绘制线条
Flash cs3仿真艺术设计4.4:模糊滤镜的应用
Flash cs3仿真艺术设计4.5:模糊运动制作飞行文字
Flash cs3仿真艺术设计4.6:组合效果应用实例
Flash cs3仿真艺术设计4.7:模糊滤镜的应用
Flash AS 3.0基础教程:物理基础之重力
Flash AS3.0菜鸟学飞教程:创建自定义类
Flash cs3仿真艺术设计4.8:选择模糊的应用
Flash cs3仿真艺术设计4.9:背景模糊应用技巧
Flash AS3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类
Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件
Flash cs3仿真艺术设计5.1:2.5D基础应用
Flash cs3仿真艺术设计5.2:2.5D高级应用
Flash AS3.0菜鸟学飞教程:含有多个类的AS3类文件
Flash AS3.0实例教程:AS3.0代码制作3D旋转动画效果
Flash cs3仿真艺术设计5.3:2.5D动画技巧之绘制猴子
Flash cs3仿真艺术设计5.4:交换方法制作嘴型吻合
Flash cs3仿真艺术设计5.5:嵌套法打造角色嘴型吻合

Flash动画制作 中的 Flash 动作脚本之:了解Action Script2.0 (3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 45 ::
收藏到网摘: n/a

AS代码2.0:针对Flash Player 7(1)

    Flash Player 7比以前的Flash播放器支持更多的动作脚本命令,可以使用这些命令来编写更稳健的脚本。不过,如果在现有的脚本中使用了这些命令,并针对Flash 7播放器发布该脚本,它也许不能正确工作。例如,如果你有一个脚本,其中有一个函数名使用了Error,该脚本也许可以正确编译,但并不能按照Flash 7播放器的方式运行,因为在现在的动作脚本语言中Error是一个内建类(因此,Error是一个保留字)。可以通过修改脚本,把Error函数名改为其它名字来解决,如ErrorCondition。

  Flash 7播放器也有了很多变化,这些变化影响到一个SWF文件怎样访问另一个SWF文件,怎样载入外部数据,怎样访问本地设置和数据(如隐私设置和本地永久共享对象)。最后,一些现有的特性也已经改变。

  如果你现有的脚本是针对Flash 6或更早版本的播放器编写的,但又想针对Flash 7播放器发布,你可能需要修改你的脚本,以便它们符合Flash 7播放器的执行要求并能按设计思路工作。下面我们就介绍这些相关知识。

  一、遵从ECMA-262 Edition 4方案

  Flash 7播放器作了一些修改,使之更加符合ECMA-262 Edition 4方案。在动作脚本语言2.0中,除了可以使用基于类的编程技术外,也增加了其它特性,某些行为也已修改。当你针对Flash 7播放器发布且使用动作脚本语言2.0时,你可以不把一种对象类型指派给另一个。这些功能不要求你更新现有的脚本,但是,如果你针对Flash 7播放器发布发布你的脚本,你可以使用这些功能,然后继续修订和改进。

  与上面提到的变化不同,下表列出的变化(其中也有一些不完全遵从ECMA方案)可能导致现有脚本的执行结果与以前不同。如果你在针对Flash 7播放器发布的现有脚本中使用了这些特性,请查看一下这些变化,确保你的代码能够按照设计计划运行,或确定是否需要重写代码。特别是,计算undefined(未定义)项的结果在某些情况下是不同的,你应该在针对Flash 7播放器发布的脚本中初始化所有的变量。

针对Flash 7播放器发布的SWF文件针对早期Flash播放器发布的SWF文件
支持区分大小写(只是大小写不同的变量名被解释为不同的变量)。这种变化也影响用#include指令载入的文件和使用LoadVars.load()命令载入的外部变量。不区分大小写(只是大小写不同的变量名被解释为相同的变量)。
  
在数值上下文中计算undefined项的返回结果是NaN。在数值上下文中计算undefined项的返回结果是0。
myCount +=1;
trace(myCount); // NaN
myCount +=1;
trace(myCount); // 1
  
当undefined项被转换为字符串时,其结果是undefined。当undefined项被转换为字符串时,其结果是""(空字符串)。
firstname = "Joan ";
lastname = "Flender";
trace(firstname + middlename + lastname);
// Joan undefinedFlender
firstname = "Joan ";
lastname = "Flender";
trace(firstname + middlename + lastname);
// Joan Flender
  
当把字符串转换为逻辑值时,如果该字符串的长度>0,其结果为true;如果该字符串为空串,其结果为false。当把字符串转换为逻辑值时,首先把它转换为数值,如果该数值非0,其结果为true,否则为false。
当设置数组的长度时,只有有效的数字