你应该在代码中明确声明一个实例名称吗?

时间:2018-02-05 08:27:46

标签: actionscript-3

我是ActionScript新手。

当我创建一个MovieClip并为其附加实例名称时,我可以通过舞台的类访问它。

但是,我看到一些教程明确声明了一个带有实例名称的变量。

有什么特别的原因吗?

1 个答案:

答案 0 :(得分:1)

你的帖子中有很多混乱,所以让我为你澄清一些事情。也许。

您可以使用 new 运算符实例化(创建实例)类。是的,使用 new 运算符,如果没有强制参数,则可以省略(),这不是错误。

new MovieClip;

您可以将该操作的结果分配给变量,声明为精确类的变量。

var M:MovieClip = new MovieClip;

或者您实例化的类的任何超类。

var D:DisplayObject = new MovieClip;
var E:EventDispatcher = new MovieClip;

或无类型变量。

var U:* = new MovieClip;

变量类型是编译器在处理引用对象时所看到的内容(不考虑实际对象的类):

// Fine, DisplayObject.name is a valid property.
D.name = "Movie1";

// Error, EventDispatcher does not have a name property.
E.name = "Movie2";

然后。如果要使用 getChildByName(...)方法将该实例作为某个容器的子项访问,则设置实例名称是有意义的。或者,也许,如果你要在一个容器中有很多不同的孩子,并且你想将他们的元精华存储在他们的名字中,比如" Enemy2"或" Bullet15"。

但这不是强制性的。如果您可以/想要整理您的应用以使所有引用都存储为变量或存储在数组中,则无需命名实例。