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。 |
| 当设置数组的长度时,只有有效的数字字符串可设置长度。例如,"6"起作用,但" 6"或"6xyz"不起作用。 | 当设置数组的长度时,即使是一个畸形的数字字符串也可设置长度: |
| my_array=new array(); my_array[" 6"] ="x"; trace(my_array.length); // 0 my_array["6xyz"] ="x"; trace(my_array.length); // 0 my_array["6"] ="x"; trace(my_array.length); // 7 | my_array=new array(); my_array[" 6"] ="x"; trace(my_array.length); // 7 my_array["6xyz"] ="x"; trace(my_array.length); // 7 my_array["6"] ="x"; trace(my_array.length); // 7 |
出处:天极设计在线
责任编辑:qhwa
上一页 下一页 as代码2:针对flash player7 [2]
◎进入论坛flash专栏版块参加讨论
| ||
| flash mx 2004 数据绑定 flash dynamic mask 动态遮罩 flash 酷站猎手 中文id3乱码问题mx解决方案 用as2解决中文id3的乱码 |
| ||
| flash mx 2004的“行为”功能 as代码2.0:面向对象模型 as代码2.0:脚本编辑和调试 as代码2.0:新的语言元素 as代码2.0:针对flash player7 |
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||
| |
|
>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器