Flash 嵌入SWC无法访问文本字段
我在flash builder项目中添加了一个带有movieclip资产的SWC。我可以使用点语法访问所有movieclips,但当我尝试访问文本字段时,它会抛出一个错误,表示它是Flash 嵌入SWC无法访问文本字段,flash,actionscript-3,flash-builder,Flash,Actionscript 3,Flash Builder,我在flash builder项目中添加了一个带有movieclip资产的SWC。我可以使用点语法访问所有movieclips,但当我尝试访问文本字段时,它会抛出一个错误,表示它是无法访问空对象引用的属性或方法 这是我的密码: // gameMenuLevels is a main asset. this.object = new gameMenuLevels(); 这一切都很好,我可以深入到两个层次: var levelString:String = "level" + Utils.zero
无法访问空对象引用的属性或方法
这是我的密码:
// gameMenuLevels is a main asset.
this.object = new gameMenuLevels();
这一切都很好,我可以深入到两个层次:
var levelString:String = "level" + Utils.zeroPad(i + 1, 3);
var level:MovieClip = this.object[levelString] as MovieClip;
var bronze:MovieClip = level.bronze as MovieClip;
但当我尝试获取文本字段时:
(bronze.getChildByName("levelNumber") as TextField)
它抛出了错误。通过尝试和错误,并从这个答案中获得对另一个问题的帮助:
我发现必须给我的所有子元素一个链接名(导出到actionscript)和一个实例名。完成后,我就可以作为属性访问子元素。希望这能帮助其他人。看起来您的变量
brown
是null
。请尝试trace(brown)
和trace(level.brown)
并查看是否有任何结果。只需使用点语法即可获取文本字段,而无需使用getChildByName。例如,如果您有一个实例名为“levelNumber”的文本字段,它应该可以作为bronze访问。levelNumber这是我假设的,但它不起作用。@Laurent it跟踪到它,它为空。所以让我来弄清楚,然后再更新一下。@brenjt,确保Brown实际上是一部电影。如果它实际上是一个精灵或显示对象,则对MovieClip的转换将返回null。