因此,我制作了一个名为“ potato”的对象,然后启动了一个循环,以检查“ _level0”中是否有名称为“ _level0.potato”的对象。我的想法是,由于_level0中的内容是对象而不是字符串,因此无法将对象名称识别为字符串,所以我想我需要找到一种将对象名称转换为字符串或相反的方法。
var potato:MovieClip = this.createEmptyMovieClip("potato", this.getNextHighestDepth());
for(objects in _level0){
trace(_level0[objects])
if(_root[objects] == "_level0.potato"){
trace("OMG, i found a potato on level0")
}
}
您建议将对象存储为字符串是不正确的。如果您尝试在使用typeof
之前
trace(typeof _level0[objects])
您将看到其类型为,movieclip
而您的“ _level0.potato”为。string
它们将不相等。但是您可以使用String(...)
构造将对象引用转换为字符串。
关于名字。您会混淆名称和引用。像ac2中的其他对象一样,MovieClip对象具有称为的属性_name
。在此属性中,对象名称像字符串一样存储。但仅是名称,而不是其目的地的完整路径。因为您的马铃薯mc_name
相等,"potato"
所以您可以像这样进行搜索
var potato:MovieClip = this.createEmptyMovieClip("potato",this.getNextHighestDepth());
for(objects in _level0){
trace(_level0[objects])
if(_root[objects]._name == "potato"){
trace("OMG, i found a potato on level0")
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句