1

这段代码的第一行是抛出 ReferenceError #1069。“在 ObjectButtonSkin 上找不到属性 focusMask,并且没有默认值。” “皮肤”变量的类型为 MovieClip,而实际对象实例的类型为 ObjectButtonSkin(它扩展了 MovieClip)。

if (skin["focusMask"] != null)
    if (skin["focusMask"] is DisplayObject)
        (skin["focusMask"] as DisplayObject).visible = false;

这以前从来不是问题,所以我不确定为什么会这样。ObjectButtonSkin 类没有被标记为动态或其他任何东西,所以也许这就是问题所在?一个站点建议我应该使用“()”而不是“[]”来访问该属性,但这似乎不对。

4

1 回答 1

1

更好地检查 focusMask 的存在是:

if (skin.hasOwnProperty("focusMask") && skin.focusMask!=null)...

或者,如果你想更干净,你应该将 focusMask 提取到一个变量中:

var focusMask:DisplayObject = skin.getChildByName("focusMask");
if (focusMask)
    focusMask.visible = false;
于 2011-02-15T17:43:31.567 回答