Feathers: Stage3D加速的UI组件

Foxhole, 这个轻量级,可换肤,易扩展的Starling UI组件现正式受Adobe官方支持,正式更名为Feathers! 用Starling框架做GPU加速2D、3D游戏的同学有福了~

Feathers是移动以及和桌面均适用的UI组件,轻量级,可扩展,具有换肤功能。 Feathers集所有于一包,借GPU驱动的图形之势(多亏有Starling框架)高速绘制平滑响应式体验。

跨平台

利用Feathers可以为iOS,Android,Windows,Mac构建强大的,基于硬件加速的用户界面。通过Feathers, Starling Framework和Adobe的技术可以为所有操作系统创建本地应用。

易于皮肤定制

游戏通常需要UI界面风格和故事情节相匹配,而用户希望得到在某个平台上相似的用户体验。所以Feathers提供了很多皮肤选项和行为,来为移动和桌面应用定制皮肤。

自由和开放源码

Feathers是基于MIT协议开源的,所以您可以随意在商业或开源项目中使用Feathers。扩展和调试可能不太容易,因为您必须读懂和修改Feathers和Starling的源码(译者注:其实代码很清晰,容易读懂)。

概述

  • 设计的时候已经考虑到了移动设备.
    • 为电话和平板设备的性能进行了优化.
    • 支持多点触摸.
    • 滚动遵循了移动设备的体验,具备弹性边缘(如果需要的话,您也可以选择传统的桌面滚动条和滚轮控制).
    • 易于扩展,适配不同的屏幕尺寸和DPI.
  • 简单但功能强大的组件体系.
    • 改变属性后,设置"失效",直到Starling的呈现阶段才会渲染(类似Flex).
    • getStyle()/setStyle()方法不通过会导致含糊的字符串来设置样式,所有的皮肤和视觉属性都有严格的类型定义.
    • 使用 as3-signals 代替事件.
    • 工厂方法和接口允许您自定义子组件. 例如,选择最适合手机,平板电脑,或PC的组件类型.
    • 易于理解,如果您用过 Adobe Flex 或 Flash Pro AS3 组件的话.
  • 所有组件都是基于Starling显示对象的并且可以更换皮肤.
    • 组件通常会根据提供的皮肤的大小调整自己的尺寸.
    • 子组件可以继承父级的皮肤,一直嵌套下去.
    • 支持从其它项目剥离的皮肤代码形成的主题.
    • 支持9宫格,3宫格,以及平铺布局.
    • 智能的图片管理.
  • 插件支持的功能.
    • 支持位图和矢量文本渲染. 也可以自定义文本渲染方式.
    • 强大的按钮导航系统和过渡动画.
    • 拖拽支持.
    • 弹出窗体(模态和非模态).

组件

Feathers包括许多不同的组件,比如按钮,滑块,拨动开关,复选框,单选按钮,列表,进度条,文本输入,标签,导航,容器,标注等等。来看看其中一些组件的几个值得注意的特点。

  • 按钮
    • 可以为每个状态定义皮肤和图标, 包括 up, hover, down, 和 disabled.
    • 额外的 toggle/selection 行为.
  • 文本输入
    • 使用操作系统的本机输入,支持选择,复制和粘贴.
  • 滚动容器
    • 可以支持任何类型内容的滚动控制.
    • 多种内置布局,还可以自定义布局.
  • 列表
    • 可滚动的列表,单项可以选中.
    • 可定制的布局方式.
    • 布局虚拟化(提高性能).
    • 可改变itemRenderer的尺寸.
    • 自定义 itemRenderers.
    • 提供一个默认的itemRenderer类,来显示文本和图标,以及和按钮相似的视图状态.
    • 一个 ListCollection 实现对数据的封装. 支持 Array, Vector, 和 XMLList.
  • 分组列表
    • 提供更强大的列表功能.
    • 提供分组显示功能.
    • 为headers, footers, 和 items指定独立的渲染器.
    • 多维的数据描述.
  • 屏幕导航
    • 使用事件或消息来驱动屏幕切换 (如游戏中的菜单).
    • 屏幕切换时的数据共享
    • 为屏幕切换指定动画.

中文网站:http://www.starlinglib.com/wiki/News:Starling_Feathers

官网地址:http://feathersui.com/

原文地址:https://www.cnblogs.com/atong/p/2881240.html