【发布时间】:2011-09-11 04:11:48
【问题描述】:
我在我的 flash builder 项目中添加了一个带有影片剪辑资源的 SWC。我可以使用点语法访问所有影片剪辑,但是当我尝试访问我的文本字段时,它会抛出一个错误,指出它是 cannot access a property or method of a null object reference
这是我的代码:
// 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)
它抛出错误。
【问题讨论】:
-
看起来你的变量
bronze是null。试试trace(bronze)和trace(level.bronze)看看有什么收获。 -
您应该能够只使用点语法而不使用 getChildByName 来获取您的文本字段。就像如果您有一个实例名称为“levelNumber”的文本字段,它应该可以作为 brown.levelNumber 访问
-
这是我的假设,但它不起作用。
-
@Laurent 它跟踪它并且它是空的。所以让我弄清楚这一点并回来更新。
-
@brenjt,确保青铜实际上是一个电影剪辑。如果它实际上是 Sprite 或 DisplayObject,则转换为 MovieClip 将返回 null。
标签: flash actionscript-3 flash-builder