3. 新的关键字
Action Script 2中支持Action Script 1中的任何标准关键字。在Action Script 2能够用更面向对象的方法去编程。
下面这些关键字是在Action Script 2中新增的。
class
extends
implements
interface
dynamic
static
public
private
get
set
import
C. ActionScript 2 编程例子
这里不可能完整地讲解Action Script 2。Action Script 2完全符合ECMA 262 第四版的规范(http://www.mozilla.org/js/language/es4/) 。下面我们来看看几个Action Script 2的编程例子。
Class
这是个介绍如何在Flash MX2004中用classes的简单例子。
// class declaration:
class TPoint
{
// class properties:
var _x:Number = 0;
var _y:Number = 0;
// class contructor
function TPoint() {
}
}
这是个稍微复杂一点的例子。
// class declaration:
class TPoint
{
// class properties:
var _x:Number = 0;
var _y:Number = 0;
// class contructor
function TPoint(x:Number, y:Number)
{
if (arguments.length > 0)
{
_x = x;
_y = y;
}
}
// function to overwrite properties with new values
function SetPoint(x:Number, y:Number)
{
_x = x;
_y = y;
}
}
下面是调用刚刚定义的类。
var Point0:TPoint = new TPoint();
var Point1:TPoint = new TPoint(5,5); // default values
Extends
这是继承的简单例子。
class TPoint3D extends TPoint
{
var _z:Number = 0;
function TPoint3D(x, y, z:Number)
{
if (arguments.length > 0)
{
super(x, y);
_z = z;
}
}
}
Implements, interface
这是接口的例子。
interface PointInterface
{
function SetPoint();
function Distance(p:TPoint):Number;
}
class TPoint implements PointInterface
{
function SetPoint()
{
}
function Distance(p:TPoint):Number
{
}
}
Static, dynamic
一般来说,只能够通过接口操作在类中已存在的属性。但在Dynamic中能够动态在类中增加一个属性。
//定义
dynamic class TPoint
{
var _x:Number;
var _y:Number;}
//引用
var Point:TPoint = new TPoint();
Point._z = 5; // This will not lead to a compiler error, because the class is dynamic.
Public, private
class TPoint
{
private var _x:Number;
function getX():Number
{
return _x;
}
}
var Point0:TPoint = new TPoint();
Get, set
典型的面向对象的做法,呵呵。
class Person
{
var age:Number;
function get birthyear():Number
{
var year = new Date().getFullYear();
var birthyear = year - age;
return birthyear;
}
}
var Person1:Person = new Person();
Person1.age = 18;
trace(Person1.birthyear);
function set birthyear(yr:Number)
{
var year = new Date().getFullYear();
age = year - yr;
}
var Person1:Person = new Person();
Person1.birthyear = 1975;
trace(Person1.age);
Import
var Point:TPoint = new folder.nestedfolder.TPoint();
import folder.nestedfolder.TPoint;
var Point:TPoint = new TPoint();
import folder.nestedfolder.*;
class folder.nestedfolder.TPoint
{
}
三、Commands
以前执行第三方插件,需要Export SWF,再由Flash Import。现在Commands能够?第三方插件直接整合到Flash中,而且已能够直接反映到Timeline中。一些著名第三方插件,如制作字体效果和立体图像的软件,都会有整合到Flash中的新版本推出。普通版?置Commands暂时有Timeline Effects, Timeline Effects就是为图像变Blur、Drop Shadow、Expand、Explode等等效果。另外有一些单独研发人员能够研发Commands斤Flash,等于是Plugin for Flash。
四、Behaviors
Behaviors就是将一些写好的Action Script程式给不懂编程的人用,现在能够通过面板快速应用Action Script而无需了解代码,用户也能够创建自己的Behaviors。在MicroMedia系列的其他产品中也有类似的功能。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




