自定义用户界面组件

如果Starling Builder的内置组件和配置不能满足你的要求,你可以轻易的定制它。

通过修改配置文件自定义组件属性

如果你想要增加一些属性到某个用户界面组件,或者添加一些已经链接进编辑器的用户界面组件,你并不需要重新编译编辑器。你只需要修改一个配置文件。

点击菜单Workspace → edit template, 你将会打开YOUR_WORKSPACE/setting/editor_template.json

当你编辑完它的时候,你需要重新启动Starling Builder才能让设置生效。

版本升级的时候,editor_templete.json有可能被新的默认配置文件覆盖。所以最好备份配置文件保存你的修改

下面是一个为Image类添加blendMode属性的例子:

{
    "cls":"starling.display.Image",
    "params":[
        {"name":"width", "min":0, "read_only":true, "link":true},
        {"name":"height", "min":0, "read_only":true, "link":true},
        {"name":"scaleX", "step":0.01, "default_value":1},
        {"name":"scaleY", "step":0.01, "default_value":1},
        {"name":"color", "component":"colorPicker", "default_value":16777215},
        {"name":"blendMode", "component":"pickerList", "options":["auto", "screen", "normal"], "default_value":"auto"}
    ],
    "constructorParams":
    [
        {"cls":"starling.textures.Texture"}
    ],
    "tag":"asset"
}

通过动态加载库创建自定义用户界面组件

如果你想为Starling Builder自定义用户界面组件,你可以把它编译成一个swf然后复制到YOUR_WORKSPACE/libs目录下。

以下是工作流程

当你添加一个用户界面组件,你需要完成3件事

  1. 编写用户界面组件类
  2. 编辑custom_component_template.json配置文件
  3. 在EmbeddedComponents.linkder中链接用户界面类

如需更多信息请查看 官方自定义用户界面组件列表

Editor Template Reference

顶层

名称描述
supported_components官方组件及其属性
custom_components自定义组件及其属性
default_component任何UI组件的共同属性
background背景属性
version模板的版本号
revision模板的修订号,模板中有任何更改时,这个数字将增加

supported_components 或 custom_components 内

名称描述
clsUI组件类的全限定类名
params除了通用属性之外的可编辑属性
createButton是否在选择列表显示创建按钮
container是否可以作为一个容器
tag组件所属的分类
createComponentClass在创建UI组件之前的类的全限定类名

params 内

名称描述
name属性名称
component属性编辑器组件, 目前为止支持以下组件: textInput, textArea, slider, check, pickerList, colorPicker, popup
cls属性是类还是简单类型
disable组件是否激活
default_value属性默认值,如果属性值等于默认值就不会保存到布局中
editPropertyClass当编辑按钮激活时启动的UI全限定类名,只用于popup组件

测试用户界面组件

有时候通过构建swf,复制到工作空间然后运行编辑器的形式测试用户界面组件并不是很方便。这种情况下,你可以使用tests目录下的测试程序测试它。你可以简单地把作为占位符的Image类替换成你自己的用户界面组件,然后通过运行测试程序测试它。

  builder/custom_component_cn.txt · Last modified: 2016/10/15 02:59 by johannh
 
Powered by DokuWiki