Flash / AS3中一个构造函数的多个(不同)对象

时间:2011-03-20 18:44:52

标签: flash actionscript-3 actionscript constructor flash-cs5

我必须在学校的flash中创建一个游戏。然而,我有点卡住了。我知道一种方法可行,但我想知道是否没有办法一对一地做到这一点。到此为止。

我有一个带4个按钮的开始屏幕。这些按钮都链接到不同的级别,它们都有不同的图像。我们称之为btn1 btn2,.. btn4。我创建了一个名为'GameButton'的课程:

package 
{
    import flash.display.SimpleButton;

    public class GameButton extends SimpleButton
    {
        public function GameButton()
        {
               // x= 
               // y=
        }
    }
}

我在我的主课程中发起了这个:

    public var btn1:GameButton;

    public function MainAteam()
    {

        btn1 = new GameButton();
        addChild(btn1);
        btn1.addEventListener(MouseEvent.CLICK, startGame1);
    }

我的第一个按钮与GameButton类链接,并在我的Main类中由addChild放到我的舞台上。当然,现在,GameButton将始终显示我链接它的按钮的图像。我想知道是否有办法使用ONE构造函数但使用不同的图像。也许在构造函数中有一个参数。例如,我可以做

btn2 = new GameButton(2)

然后它添加了一个带按钮2图像的按钮。我很困惑,我不知道这是否可能..

我看到的另一种方法是创建四个不同的按钮类并将它们中的每一个链接到一个不同的按钮,但是我必须为文件创建一个非常简单的东西,这似乎很麻烦。只需添加一个按钮。

自从我与AS3合作以来已经有一段时间了。希望有人可以帮助我。提前谢谢。

编辑: 我刚刚意识到这可能是一个愚蠢的问题。但是,有没有办法喜欢..为一个空按钮创建一个构造函数,然后可能添加一个符号?不确定。真的很困惑,我感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您无需为每个按钮创建一个类。只需在链接选项中为每个按钮指定一个不同的名称,并将GameButton设置为其基类,而不是SimpleButton。 Flash要求你给每个导出的符号一个唯一的名称,但它不会强迫你为它编写一个类(它会在你编译时为你生成一个类,但你不必担心这个)。然后,您的按钮将继承GameButton的行为,但您将能够为每个按钮提供所需的图形。