【问题标题】:Embed SWC cannot access textfield嵌入 SWC 无法访问文本字段
【发布时间】: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)

它抛出错误。

【问题讨论】:

  • 看起来你的变量bronzenull。试试trace(bronze)trace(level.bronze) 看看有什么收获。
  • 您应该能够只使用点语法而不使用 getChildByName 来获取您的文本字段。就像如果您有一个实例名称为“levelNumber”的文本字段,它应该可以作为 brown.levelNumber 访问
  • 这是我的假设,但它不起作用。
  • @Laurent 它跟踪它并且它是空的。所以让我弄清楚这一点并回来更新。
  • @brenjt,确保青铜实际上是一个电影剪辑。如果它实际上是 Sprite 或 DisplayObject,则转换为 MovieClip 将返回 null。

标签: flash actionscript-3 flash-builder


【解决方案1】:

好的,试错和帮助从这个答案到另一个问题:SWC Instance name on movieclips?

我发现必须给我的所有子元素一个链接名称(导出到 actionscript)和一个实例名称。一旦完成,我就可以将子元素作为属性访问。希望这对其他人有帮助。

【讨论】:

    猜你喜欢
    • 2015-05-31
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 2013-03-14
    • 2011-03-16
    • 2021-11-16
    • 1970-01-01
    相关资源
    最近更新 更多