在Flash Pro中,如何让“属性”面板显示您在ActionScript类上定义的属性?

时间:2014-10-25 09:45:09

标签: actionscript-3 flash

我正在涉足游戏设计并尝试为游戏创建一些角色。现在我刚刚创建了一个包含矩形的MovieClip。 MovieClip符号扩展了我在Flash Builder中创建的类,该类实现了怪物的逻辑。然后我可以将这个怪物符号的实例从库拖到舞台上,当我运行模拟时代码可以工作。到目前为止,非常好。

现在我想创建几个怪物,都略有不同:

public class Monster extends MovieClip
{
    public var isFriendly:Boolean = true;
    public var strength:int = 10;
    public var catchPhrase:String = "Booyah!";

    public function Monster()
    {
    }
}

这样做的一种方法是为扩展Monster的每个怪物编写一个新类,并在构造函数中设置我想要的属性(我还必须在库中为每个变体创建一个唯一的符号) 。但是,如果我的怪物只因其属性值不同,这似乎有点过分了。

查看Flash Professional使用界面,我看到在“属性”面板的最底部是一个看起来像一个以“属性/值”为首的小表的部分。我可以使用它以某种方式从Flash Professional UI中设置我的类的属性吗?我找不到有关如何使用它的任何信息。

1 个答案:

答案 0 :(得分:0)

好的,我明白了。关键是将我的符号转换为flash组件。

首先,我编辑了我的ActionScript类,以导出我想要设置的属性(包括Inspectable标记):

public class Monster
{
    private var _catchPhrase:String;

    public function Monster()
    {
    }

    public function get catchPhrase():String
    {
        return _catchPhrase;
    }

    [Inspectable(name = "catchPhrase", type = String, defaultValue = "Booyah!")]
    public function set catchPhrase(value:String):void
    {
        _catchPhrase = value;
    }

}

然后我右键单击我库中的Monster符号并选择“Component Definition ...”。这会打开“组件定义”对话框。然后,我在“类”字段中输入了ActionScript类的名称,然后单击复选标记以对其进行验证。 Flash然后自动生成我需要的属性。

我还发现本教程很有帮助: http://redbjarne.wordpress.com/actionscript-3-0-custom-components-from-hell/