【问题标题】:Converting Object Names to Strings in AS2在 AS2 中将对象名称转换为字符串
【发布时间】:2015-06-13 11:53:17
【问题描述】:

所以我创建了一个名为“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")
    }
}

【问题讨论】:

    标签: string object for-loop actionscript-2 movieclip


    【解决方案1】:

    您关于将对象存储为字符串的建议是不正确的。如果您尝试在

    之前使用 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")
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      • 2017-09-08
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      • 2017-04-20
      相关资源
      最近更新 更多