1

前几天我问了一个问题,它教会了我一些关于展示对象和东西的知识。我还有另一个问题。

这是我的文档类:

package 
{

    import flash.display.MovieClip;
    import flash.display.Stage;

    public class Engine extends MovieClip
    {

        public function Engine()
        {
            var calling:Callitems = new Callitems(cat, BluKnife)

            stage.addChild(calling);

        }

    }

}

cat并且BluKnife是我的库中的电影剪辑,与这些名称有 as3 链接。

现在这里是Callitems

package 
{

    import flash.display.MovieClip;
    import flash.display.Stage;
    import flash.display.InteractiveObject;


    public class Callitems extends MovieClip{


    public function Callitems(Enemy1, Enemy2)
    {
        var knife:Enemy1 = new Enemy1();

        this.addChild(knife);
        knife.x = 200;


        var ct:Enemy2 = new Enemy2();

        this.addChild(ct);


    }

}

}

现在我的问题是,当我没有给出Callitems论点而只是在制作Enemy1cat制作Enemy2时,Bluknife这两个电影剪辑都按预期添加到了舞台上。但是现在我试图提出Callitems参数,以便我可以在某些时候放置不同的剪辑,我收到以下错误:

1046:未找到类型或不是编译时常量:Enemy1。1046:类型未找到或不是编译时常量:Enemy2。

谢谢大家,非常感谢任何帮助

编辑:我确实在这个网站上搜索过同样的错误,但我不明白在这种情况下的问题,对不起!

4

2 回答 2

2

问题是Enemy1当您定义var knife:Enemy1. 尝试将其转换为更通用的类型:

var knife:MovieClip = new Enemy1() as MovieClip;
于 2013-05-10T13:41:26.747 回答
1

问题是您似乎将类名作为 Callitems 构造函数的参数。它应该是这样的:

public function Callitems(parameter1:Enemy1, parameter2:Enemy2)
    {...

您还将未定义的变量传递给 Callitems 构造函数(cat 和 BluKnife)。如果它们应该被传递到 Callitems 中(这也许不是一个好主意),那么至少应该首先定义它们。

于 2013-05-10T14:08:48.770 回答