【问题标题】:MovieClip inheritance error in flashFlash 中的 MovieClip 继承错误
【发布时间】:2010-08-21 01:37:23
【问题描述】:

我有一个名为Level 的类,它继承了MovieClipLevel 在设计器中有一个名为 gridView 的子代,gridViewLevel 构造函数中使用。
我还有一个名为Level1 的类,它继承了Level。当我尝试addChild(new Level1()) 之类的东西时,Level 构造函数中出现错误,说gridView 为空。我做错了什么?

部分代码:

public class Level extends MovieClip
{
    public function Level()
    {
        var matrix:Matrix = new Matrix();
        matrix.translate(-250, -250);
        matrix.rotate(Math.PI / 6);
        matrix.scale(1, 0.5);
        matrix.translate(250, 250);
        gridView.transform.matrix = matrix; // error here referred from:
    }
}

public class Level1 extends Level
{
    public function Level1()
    {
        super();
    }
}

addChild(new Level1()); // referred from here
addChild(new Level()); // this worked fine

【问题讨论】:

  • Level1 是否附加到创作中包含名为 gridView 的对象的 MC?如果不是,那是你的问题——类继承只发生在代码中; Level 的子类不会有自己的 gridView 实例,因为父类在创作中声明了一个。

标签: flash actionscript-3


【解决方案1】:

示例代码你会很好。在 flash IDE 中,gridView 是否真的有“gridView”的实例名称?

【讨论】:

    【解决方案2】:

    没有代码或不了解您的某些设置,我假设您的课程如下所示:

    package {
        import flash.display.MovieClip;
    
        public class Level extends MovieClip {
            public var gridView:GridView;
    
            public function Level() {
                gridView.x = 100;
            }
        }
    }
    

    这是假设 gridViewGridView 但它可以是任何东西,真的。

    可能发生的情况是您没有在 Flash IDE 中正确命名您的 gridView 实例。你可能想检查一下。

    另一种可能性是,您可能会陷入“严格模式”打开而“自动声明阶段实例”也关闭的温和芭蕾中。您可以通过转到“发布设置”->“Flash”选项卡->单击“脚本”下拉列表右侧的“设置”按钮来找到这些复选框。

    这意味着在关闭自动声明的情况下,您必须在课堂上做更多的工作。

    有关在严格模式下可以做什么和不可以做什么的一些信息,请查看以下 Stack Overflow 问题: Summary of ActionScript 3 strict mode

    对于舞台实例,有一个 Stack Overflow 问题:Flash AS3: ReferenceError: Error #1056: Cannot create property

    【讨论】:

    • 我已经发布了我的代码,它和你一开始写的不一样。当我尝试new Level() 它工作正常但是当我尝试new Level1() 它死了虽然Level 声明几乎是空的。
    • 啊,我在没有代码的时候开始评论这个问题。既然有源代码,让我再看一下。
    【解决方案3】:

    我建议您在“Level”类中公开声明“gridView”。

    例如。 public var gridView:MovieClip;

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 2014-06-20
      • 1970-01-01
      • 2012-09-16
      • 2015-09-27
      • 2015-06-09
      • 2019-03-25
      • 2016-03-10
      • 2012-05-22
      相关资源
      最近更新 更多