StarlingBuilder——Starling开源用户界面编辑器

曾经非常推崇starling,后来因为没有一套完成的工作流(主要是没有UI设计器),平台sdk接入困难(蛋疼的ane),又缺少第三方强有力的支持(至少天朝这样)而果断放弃了。。

adobe官方各种颓废消沉的今天,看到starling依然在坚持更新(2.0 final),看到开源社区(github)里不断出现的starling三方产品,尤其是看到starlingbuilder这记重弹,突然又燃起了新的希望。

广大开发者的智慧是无穷的,万一哪天starling完整的解决方案成型了呢^_^

description:

User Interface Editor for Starling (Chinese Guide)

tag:

GUI, editor, user interface

作者:

Johann Huang

描述:

Starling用户界面编辑器

依赖:

Adobe AIR, Starling Framework

编辑器下载:

http://starlingbuilder.github.io/download.html

编辑器演示:

http://v.youku.com/v_show/id_XMTQ3MzA0MDYwNA==.html?from=s1.8-1-1.2

引擎源码:

https://github.com/yuhengh/starling-builder-engine

编辑器源码:

https://github.com/yuhengh/starling-builder-editor

API参考:

http://starlingbuilder.github.io/api

QQ群:

387362873

概述

Starling Builder是基于Starling的开源用户界面编辑器

它建立在Starling/Feathers UI框架之上. 你可以在Starling Builder编辑你的用户界面,然后导出成JSON的布局文件,最后直接在游戏中创建starling显示对象。它提供了一个通过所见即所得的方式快速创建你的游戏界面。

Starling Builder分两部分:引擎和编辑器。引擎模块负责将布局文件转换成显示对象。游戏和编辑器依赖于它。编辑器是一个创建UI布局的独立程序。

Starling Builder支持以下特性:

创建和编辑 Starling/Feathers/自定义 UI元素

通过编辑配置文件来定制组件和属性

支持嵌套组件(通过Sprite/ LayoutGroup ScrollContainer等等)。

支持嵌套布局(布局包含另一个布局)

支持自定义类(在编辑器里创建一个通用的类,在游戏创建另一个自定义类)

支持本地化和切换语言

如何创建UI

当你第一次编辑器运行,你需要选择一个工作区。默认情况下,编辑器将从工作区的textures和fonts文件夹中加载所有资源。你可以把一些预定义的swf运行时库放在libs文件夹。(更多信息) 选择工作区后,如果这些文件夹不存在,编辑器将为你创建空的文件夹。

你可以从http://starlingbuilder.github.io/download.html下载最新的编辑器安装文件(starling-builder.air)和演示工作空间(demo_workspace.zip)。编辑器有两个版本(Starling 1.x和Starling 2.x),你需要确保下载的版本和项目使用的Starling版本一致。

如果要运行演示,你可以将其设置为你的工作区文件夹。演示布局文件位于layout 文件夹,你可以把布局文件保存在任意位置。

当你完成编辑一个布局文件,您可以点击测试按钮来测试ui。您测试的ui是一个根据布局文件重新创建的显示对象列表。你可以在编辑模式和游戏模式下测试它,两种模式的运行效果可能会根据你的设置略显不同。(更多信息)

如何在游戏中使用它

为了在游戏中使用Starling Builder,你只需要复制引擎代码(starlingbuilder.engine.*) 资产和布局文件到你的游戏里。

建立一个UIBuilder实例,在构造函数里传进AssetMediator。 (AssetMediator是一个实现了IAssetMediator接口的类,它定义了所有UIBuilder需要从游戏里获取的接口,你可以使用默认的DefaultAssetMediator或者扩展它)。

然后,调用UIBuilder.create方法读取布局文件。这个方法会为你生成Starling显示对象,就这么简单!

你可以通过getChildByName获取你想要的用户界面元素并作相应改变。

uiBuilder =newUIBuilder(newDefaultAssetMediator(assetManager));

vardata:Object= JSON.parse(newEmbeddedLayouts.mail_popup());

varsprite:Sprite= uiBuilder.create(data)asSprite;

addChild(sprite);

你还可以在调用create方法时传入可选的binder对象, 这样布局文件里所有以下划线开头的UI组件将会自动绑定到binder对象的同名属性上。 这样你就可以移除所有类似这样获取引用的代码 _okButton = _root.getChildByName(“_okButton”) as Button;

public class MailPopup extends Sprite{//auto-bind variables

    public var _root:Sprite;

    public var _okButton:Button;

    public function ExamplePopup(){

        vardata:Object= JSON.parse(newEmbeddedLayouts.mail_popup());

        addChild(uiBuilder.create(data,true,this));

    }

}

入门篇

Starling Builder编辑器指南

如何编译Starling Builder范例

读取自定义纹理比例

支持多种分辨率

Starling Builder常见问题FAQ

进阶篇

Starling Builder最佳实践

如何编译Starling Builder编辑器

使用自定义类

使用嵌套布局

本地化支持

Starling Buidler项目移植指南

Starling Builder 移植到 Haxe/OpenFL

扩展篇

Starling Builder扩展指南

自定义用户界面元素

使用自定义feathers主题

怎样内嵌ttf字体

使用补间

使用feathers布局

官方自定义用户界面组件列表

Starling Builder用户贡献指南

更多信息

官方Starling网站博客文章Introducing Starling Builder

Flash Online Conference 13讲座Extending Starling Builder

Starling Builder用户编写总结的入门教程

使用Starling Builder编写的老虎机游戏范例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,565评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,099评论 18 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,611评论 4 59
  • 今个深圳被台风女神“妮妲”光顾了,全市停工停业停市停课,小编在家蜗居了一天,想点什么好呢?饭后忍不住出去溜达了一圈...
    2bafab81304a阅读 434评论 0 1
  • 好吧,今天是周六,我在上班,明天是周日,还是一样我依然要上班。 周六和平时相比较,对我唯一的区别就是明天要交工作计...
    适应习惯阅读 293评论 0 0