我是ActionScript新手。
当我创建一个MovieClip并为其附加实例名称时,我可以通过舞台的类访问它。
但是,我看到一些教程明确声明了一个带有实例名称的变量。
有什么特别的原因吗?
答案 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"。
但这不是强制性的。如果您可以/想要整理您的应用以使所有引用都存储为变量或存储在数组中,则无需命名实例。