手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网页制作>Flash>列表

程式员眼中的FlashMX2004

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


  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
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!