且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《ActionScript 3.0基础教程》——第2章 往舞台动态地添加对象2.1 创建库资源,并为它命名

更新时间:2022-09-22 16:03:18

本节书摘来自异步社区《ActionScript 3.0基础教程》一书中的第2章,第2.1节,作者: 【美】Doug Winnie 更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 往舞台动态地添加对象

现在你已经学会了如何操作舞台上已有的对象,接下来你将学习如何使用ActionScript动态地往舞台添加存放在库中的对象。

与前一章的区别是,你将要操作的对象还没有被放到舞台上。当程序编译成SWF以后,你将使用ActionScript动态地往舞台中添加来自库中的对象。

2.1 创建库资源,并为它命名

你应该还记得,如果要访问舞台上对象的属性,你需要为对象取一个名字,这样ActionScript才能引用它。当你从库中往舞台添加对象时,同样需要为对象取一个唯一的名字,同时你还需要为库中对象的队列取一个名字,这样ActionScript才能从队列中取出一个对象并将它放到舞台上。

1.在Flash Professional CS5.5中新建一个ActionScript 3.0项目。

2.在舞台上,创建一个简单的圆圈,并将它转换为元件。

3.将元件命名为Blue Circle,并将元件的类型选择为MovieClip。

通常情况下,你动态添加到舞台上的对象都需要是MovieClipl类型,在单击OK前,你需要为该实例取一个名字让ActionScript可以访问到。

Graphic(图型)和MovieClip有什么区别?

当你创建元件时,你会注意到有三种类型的元件可以选择 MovieClip,Graphic和Button(按钮)。当使用ActionScript时,只有MovieClip类型的元件才能被ActionScript访问。如果你选择了Graphic类型,你将不能使用ActionScript来控制它。Graphic元件被用在动画或者你需要重用该元件的情况,它不是为了要让ActionScript来控制。Button也是一个对象类型。它实际算是MovieClip的早期版本,在老版本的ActionScript中使用。你现在还是可以使用它,但是它完全没有MovieClip好用,而且实践中也证明应该使用MovieClip来代替Button。
4.打开高级设置(Advanced)。

当高级设置打开以后,你会看见中间有ActionScript Linkage的一组选项,这部分的选项是用来给对象设置名字的,这样你就可以使用这个名字来访问对象并将它放到舞台上了。

5.选中Export for ActionScript选项卡。

Class和Base Class字段会自动填入BlueCircle和Flash.display. MovieClip中。

完成这些设置之后,Convert to Symbol对话框应该看起来和图2.1一致。

与给库中对象命名不同,ActionScript对象的命名是不可以有空格的,这类似ActionScript中便利贴的表现形式。我们把蓝色圆圈的便利贴组叫做BlueCircle类,你可以回看第一节的内容,回顾我们举的便利贴例子(图2.2)。


《ActionScript 3.0基础教程》——第2章 往舞台动态地添加对象2.1 创建库资源,并为它命名


《ActionScript 3.0基础教程》——第2章 往舞台动态地添加对象2.1 创建库资源,并为它命名

为了让Flash知道对象的类型,我们需要有基类的定义。在这个例子里,基类是flash.display.MovieClip。你可以暂时不必考虑MovieClip前面的语句部分的意思,以后我们会讲到,现在只需要弄明白蓝色圆圈便利贴就是这里的BlueCircle类。

6.单击OK,你会看到错误信息(图2.3)。

暂时不用去担心这个信息,在未来你会创建一个特殊的ActionScript文件来定义BlueCircle类如何工作。

在库面板中Linkage列里,你会看见Blue Circle是关联到BlueCircle类的,在ActionScript中,使用它来创建实例对象(图2.4)。


《ActionScript 3.0基础教程》——第2章 往舞台动态地添加对象2.1 创建库资源,并为它命名

注意:

错误信息是提醒你该对象缺少一个特殊的ActionScript文件,在本书的后面你会学习到如何添加这些文件。