代码之家  ›  专栏  ›  技术社区  ›  semen

Flex中的mxml继承。“instanceof”和“is”是如何工作的?

  •  1
  • semen  · 技术社区  · 14 年前

    之前我使用了以下结构:

    Canvas -> Screen1
    Canvas -> Screen2
    

    Canvas -> Screen
    Screen -> Screen1
    Screen -> Screen2
    

    if(child is Screen){
        return child.localToGlobal(new Point()).x;
    }
    

    这不管用! 当我在调试器中看到时,child输入了“Screen2”,但是“child is Screen”返回false(还有“child instanceof Screen”)。

    public class Screen3 extends screens.Screen
    

    提前谢谢 对不起,我的英语不好

    1 回复  |  直到 14 年前
        1
  •  2
  •   Robert Bak    14 年前

    我认为问题在于这个特定的名称-已经有一个名为Screen的类(in闪光显示- http://livedocs.adobe.com/flex/3/langref/flash/display/Screen.html ),Flex检查它是否是原始屏幕的实例。

    你可以尝试两件事:

    1) 将Screen类重命名为CustomScreen,然后重试。

    if (child is screens.Screen)