【问题标题】:In Flash Pro, how to get the Properties panel to expose the properties you define on your ActionScript class?在 Flash Pro 中,如何让属性面板显示您在 ActionScript 类中定义的属性?
【发布时间】:2014-12-21 01:42:20
【问题描述】:

我正在涉足游戏设计并尝试为游戏创建一些角色。现在我刚刚创建了一个包含矩形的电影剪辑。 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 中以某种方式设置我的类的属性吗?我找不到有关如何使用它的任何信息。

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    好的,我想通了。关键是将我的符号转换为 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;
        }
    
    }
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-01
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多