3 代码是如何工作的

来源:互联网 发布:iphone蜂窝数据3g 编辑:程序博客网 时间:2024/04/30 16:29

在上一篇《在界面上显示战机》中,编写了StartPlane类。下面我们来看看这些代码是什么意思。如下所示,粗体为增加的代码,细体为FlashDevelop生产的代码。

package

{

import flash.display.MovieClip;

 

/**

...

@author yl

*/

public class StartPlane extends MovieClip 

{

    public function StartPlane():void {

        var fighter:Fighter = new Fighter();

        fighter.x = 100;

        fighter.y = 100;

        addChild(fighter);

}

 

}

}

 

首先在class后面编写StartPlane,他就是这个文档类名(类名和文档名一样)。同时StartPlane继承(extends)了MovieClip。凡是要显示的对象都要继承MovieClip或Sprite。由于文档类为场景的对应类,且场景需要显示出来,因此文档类需要继承MovieClip或Sprite。

 

编写StartPlane类的构造方法:

publicfunction StartPlane():void {

 

}

 

构造方法为生成对象的时候自动调用,因此常用来初始化。

方法的定义要以关键字function作为开始,后接方法名以及圆括号对( )。写好( )后就是返回类型,先输入一个冒号,后面跟着一个用以描述信息的类型。

 

构造方法中,首先创建了一个叫做fighter的变量:

varfighter:Fighter = new Fighter();

 

通过var关键字,程序就会知道你正在创建于一个变量。

var后面跟着变量名称,可以任意取名(一般以小写字母开头,并见名知意)。有了变量名,就可以通过名字直接访问变量里面的内容。

冒号后面为变量的类型,可以想象变量为一个存储器,它存储的东西是有规定的。那么类型就是规定变量到底能存放什么东西。在这里的数据类型为Fighter,表示变量fighter智能存储new Fighter生成的对象。

 

varfighter:Fighter = new Fighter();

 

这句代码表示的是:定义一个专门存储Fighter类型的变量,然后将通过new生成Fighter对象赋值给fighter。步骤如下:

第一步,定义一个变量fighter

fighter = ?  

第二步:new Fighter()后,生成一架战机对象,但是它没有名字

                           

第三步:将new生成的战机对象赋值给fighter,表示生成的战机有了名字。以后可以通过fighter访问战机。

 

每一个对象(元件)都有坐标属性,因此将战机fighter定位到(100, 100)处。

 

fighter.x= 100;

fighter.y= 100;

 

现在已经将生成的战机赋值给fighter变量,但是他还没有显示在场景上,下面的代码是让fighter加载到场景上。

 

addChild(fighter);

 

addChild是AS3的内置方法,他会将括号里面的对象(MovieClip或Sprite)显示在场景中。


原创粉丝点击