AS2中的新特性
AS2实际上不是一种新的语言,它是在AS1基础上的升级,如果你基本上掌握了AS1编程,那么学习它应是很容易的。接下来让我们看一下AS2所提供的新东西。
.严格的数据类型和编译提示。
.以数据类型为基础的代码提示。
.针对OOP的新的关键字和特性。
class
Interface
extends
implements
public
private
static
dynamic
intrinsic
import
class path
get
set
下面就让我看一下以上这些每一项都有什么新特点。
严格的数据类型
在比较专业编程语言中,表达是依靠数据类型的。它给我们的具大的好处是:
它可以帮助编译器发现潜在的问题,获取类型不配的错误信息。它可以使你的代码清晰易读。
在AS1中声明一个变量如count的过程如下:
var count;
在AS2中声明的过程应是这样。
var count:Number;
注意,它的语法结构是:<变量>:<数据类型>,这对许多java,c#,c++的程序员来说可能认为有些怪,这实际上是ECMA-262协会制定的规定,macromedia公司是按照这个规定做的而已。
AS2的变量,函数以及返回值都支持严格的数据类型,如下例函数接收字符串参数返回一个布尔值。
function func(arg:String):Boolean{};
当一个函数在没有接收到参数和返回任何值时,使有Void做为数据类型。
function func(arg:Void):Void{};
这种参数被写空的形式看起来有些怪,但这种用法却被大量的应用在组件的编写上,它只意味着当前没有指定的参数。然而如果你试着将参数传给这个函数,编译器在编译时是不会出现任何的错误提示同时也会将参数进行传递的。
尽管AS2支持严格的数据类型,却并没有被真正的执行这种语法,可是当编译器发现有数据类型不配的情况时就会出现错误提示信息,使用严格的数据来进行编程是一个好的开始习惯。它的好处我们在上面已经说过。如果你使用严格的数据类型来编程,那么你在发布时应指定使用AS2,并且指定发布为FLASH PLAYER 7。
使用严格的数据类型,新的编译器为你提供的了许多新的编译提示阻止你的影片出现类型不配的错误,但在编译过程中可能要花去较长的时间调试。
代码提示
在FALSHMX中的代码提示是依据变量名称的扩展如myPushButton_pb,mycomboBox_cb中的_pb,_cb来出现代码提示的,在2004中你会发现大多数的变量扩展不在生效,新版本的AS2以不同的约定型式来出现代码提示。
当一个变量类型被指定(如果这个变量类型对这个类是有效的)方法和属性的代码提示会在点的后面出现,否则是不会出现任何代码提示的。通过指定的数据类型来显示comboBox的代码提示如:
var combo:mx.controls.comboBox;
combo.
你可以通过打开如下文件查看默认的扩展代码提示如:
<Flash installation folder>\<language>\First Run\ActionsPanel\AsCodeHints.xml
小提示:在2004中加入FLASHMX的代码提示
如果你使用2004来编辑你的FLASHMX文档,你可以将部分的FLASHMX代码提示加入到2004的代码提示中。
复制<Flash MX installation folder>\<language>\First Run\ActionsPanel\CustomActions\UIComponents.xml,中的
<codehints>
<typeinfo pattern="*_ch" object="FCheckBox"/>
<typeinfo pattern="*_pb" object="FPushButton"/>
<typeinfo pattern="*_rb" object="FRadioButton"/>
<typeinfo pattern="*_lb" object="FListBox"/>
<typeinfo pattern="*_sb" object="FScrollBar"/>
<typeinfo pattern="*_cb" object="FComboBox"/>
<typeinfo pattern="*_sp" object="FScrollPane"/>
<typeinfo pattern="globalStyleFormat" object="FStyleFormat"/>
</codehints>
这一段到Flash MX 2004's UIComponents.xml文件的结束标记之前,同样将这一段复制到2004的AsCodeHints.xml文件的<codehints></codehints> 之间注意多余的<codehints>标记要删除。
现在你就可以在2004中使用FLASHMX的组件代码提示了。
发表回复