当前位置:首页>网络学院>网页制作>Flash教程>文章内容

Flash ActionScript 2.0 基础教程

[ 来源:www.it55.com | 作者: | 时间:2007-07-12 | 收藏 | 推荐 ] 【

本文译者:egoldy
文章出处: http://www.ultrashock.com
文章性质:翻译 http://www.it55.com/

ActionScript 2.0-简介

http://www.it55.com/

随着FLASHMX2004的推出,Macromedia公司推出了一种新的脚本类型称为as2,在要教程中我们将要了解AS2的新特性。新的面向对象的模型以及如何使AS1的脚本过度到AS2。 www.it55.com在线教程

为什么我们需要一种新的脚本语言。

http://www.it55.com/

如果你只是做一些简单的动画是不需要用一种新的脚本语言的,其实有许多项目是不需要脚本语言的。如果你真的不需要使用脚本语言那这个教程将是一个很短的教程,现在你就可以结束了。:) http://www.it55.com/

如果你是一名开发人员,在开发一些比较复杂的项目,那么AS1就显得有些力不从心,或者不能胜任。对于使用主流语言如java,c++,c#开发程序的程序员来说AS1是很怪的。他们是要走一些弯路来学习AS1特别是在面向对象编程时。 vd;k;l www.it55.com rdfg

在as2中这些程序员将发现许多熟知的语法,AS2象JAVA。JSCRIPT.NET和javascript 2.0的程序员将感觉更好,因为AS2的语言基础来自于ECMASCRIPT EDITION 4.AS2可以使程序员写出更健状的程序,也可以吸引更多的程序员来学习FLASH。

vd;k;l www.it55.com rdfg

好,你可能并不开发程序,那你喜欢开发游戏吗。或者是开发交互式的展示。好消息是AS2为我们开发这些提供了很有力的支持。

IT资讯之家 www.it55.com

如果你对学习AS2没有兴趣,也不用担心。因为macromedia保留了AS1语法。你只是不能掌握这种语言的新特性而已。实际上在最后的编译过程中AS2和AS1都将被编译为相同的bytescode。这么做的原因大多是为了兼容FLASH6。ok.下面我们将继续学习。

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

ActionScript 2.0-AS1.0中的一点点面向对象编程

it55.com

在我们转移到AS2之前先让我了解一下在AS1时的面向对象的编程。这一节对于在FLASH5和FLASHMX不太了解面向对编程的人来说很重要。如果你已经很了解这些可以直接跳过此节。

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

尽管AS1不是真正的面向对象的编程语言,开发人员已经在有些时候使用它进行面向对象的编程了。AS1中的任何东西都是依靠原型链也就是对象之间的联系。所以在AS1中使用面向对象需要了解原型链(或者是原型的关键字)。

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

AS1的类就象是规则的函数。方法附加在这个的类的原型上。例如:

免费资源www.it55.com

// Wizard class
function Wizard() {
}
// help()方法附加在WIZARD函数的原型上。
Wizard.prototype.help = function() {
};

IT资讯之家 www.it55.com

如果我们把help()直接放在wizard class类中。FLASH在查找属性和方法时就不会找到它,因为FLASH在查找是沿着原型链进行搜索的。而在为所有的Wizard类创建一个实例copy.下面就是为每个实例创建的copy. function Wizard(){   this.help=function(){}}对于java,c#的程序员来说。这样的将方法代码放在类中会看来很熟悉,然而为了代码的可重用性我们还是应将方法附加在类的原型链上。 在下面的例子中假如我们针对一个类上有两个方法,一个是附加在原型链上,另一个是直接放在类中,flash将先获得内部方法。 sflj www.it55.com kg^&fgd

// AS1_OOP_01.fla
function TestClass() {
   this.method = function() {
      trace("Internal method");
   };   this.prop = ">>> Internal prop";
}// Attach a method to the prototype object of the class
TestClass.prototype.method = function() {
   trace("Prototype method");
};TestClass.prototype.prop = ">>> Prototype prop";// Create an instance of the TestClass class
var w = new TestClass();// Internal method is located before the prototype method
w.method();// Replace the Internal method
w.method = function() {
   trace("New method");
};
w.method();// Delete the Internal method
delete w.method;// The only method remaining is the prototype method
w.method();// Test the properties
trace(w.prop);w.prop = ">>> New prop";
trace(w.prop);delete w.prop;
trace(w.prop); 上面的例子的输出内容为:

it55.com

Flash ActionScript 2.0 基础教程(图一)

www.it55.com

从上面这个例子我们可以看出在使用AS1面向对向对于初学者来说是极易混淆的。其中知道将代码写在什么位是很重要的,因为它可能经常出现意想不到的结果,正如在商业上有一句流行的话是:但是等等,还有更多。。。。

www.it55.com在线教程

ActionScript 2.0-AS2.0中的新特性

vd;k;l www.it55.com rdfg

AS2中的新特性 it55.com

AS2实际上不是一种新的语言,它是在AS1基础上的升级,如果你基本上掌握了AS1编程,那么学习它应是很容易的。接下来让我们看一下AS2所提供的新东西。  vd;k;l www.it55.com rdfg

   .严格的数据类型和编译提示。 

http://www.it55.com/

   .以数据类型为基础的代码提示。 

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

   .针对OOP的新的关键字和特性。  www.it55.com

class、Interface、extends、implements、public、private、static、dynamic、intrinsic、import、class path、get、set

免费资源www.it55.com

下面就让我看一下以上这些每一项都有什么新特点。

it55.com

严格的数据类型

http://www.it55.com/

在比较专业编程语言中,表达是依靠数据类型的。它给我们的具大的好处是:它可以帮助编译器发现潜在的问题,获取类型不配的错误信息。它可以使你的代码清晰易读。

www.it55.com

在AS1中声明一个变量如count的过程如下: it55.com

var count;

http://www.it55.com/

在AS2中声明的过程应是这样。

vd;k;l www.it55.com rdfg

var count:Number; sflj www.it55.com kg^&fgd

注意,它的语法结构是:<变量>:<数据类型>,这对许多java,c#,c++的程序员来说可能认为有些怪,这实际上是ECMA-262协会制定的规定,macromedia公司是按照这个规定做的而已。 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

AS2的变量,函数以及返回值都支持严格的数据类型,如下例函数接收字符串参数返回一个布尔值。

(阅读次数:

返回顶部
共5页: 上一页 1 [2] [3] [4] [5] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

最新文章