所以我创建了一个名为“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")
}
}
答案 0 :(得分:1)
您建议将对象存储为字符串是不正确的。如果您尝试在
之前使用trace(typeof _level0[objects])
movieclip
您会看到其类型为string
而你的“_level0.potato”是String(...)
他们不平等。但是您可以使用_name
构造将对象引用转换为字符串。
关于名字。你的名字和引用令人困惑。与ac2中的其他对象一样,MovieClip对象具有名为_name
的属性。在此属性中,对象的名称存储为字符串。但只有名字,而不是通往目的地的完整路径。
对于你的马铃薯,mc "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")
}
}
所以你可以像这样进行搜索
if(file.is_open())