0
点赞
收藏
分享

微信扫一扫

Starling Feathers:Starling专属UI框架

阎小妍 2023-07-25 阅读 98



目录


 [隐藏] 




  • 1 Feathers类库(即原Foxhole)成为Adobe支持的UI类库
  • 1.1 简介
  • 1.2 实例演示
  • 1.3 跨平台
  • 1.4 易于皮肤定制
  • 1.5 自由和开放源码
  • 1.6 概述
  • 1.7 组件

Feathers类库(即原Foxhole)成为Adobe支持的UI类库

更新:Lee Brimelow制作了Feathers UI的视频教程。

视频教程地址:http://gotoandlearn.com/play.php?id=173

Foxhole是一个和Starling整合的UI类库,相信已经不少人开始用了,现在成为Adobe支持的类库,更给力了!

Starling中文站翻译整理

 


 

简介

Feathers是轻量级,易于定制皮肤和扩展的UI组件(适用于移动设备和桌面)。Feathers通过Starling框架,利用GPU的强大能力渲染组件,来实现更加平滑和友好的体验。

  • 源码下载:https://github.com/joshtynjala/feathers/zipball/master
  • 官方站点:http://feathersui.com/
  • 官方下载:http://feathersui.com/download/
  • API文档:http://feathersui.com/documentation/
  • 提交Bug:https://github.com/joshtynjala/feathers/issues
  • 入门教程:http://wiki.starling-framework.org/feathers/getting-started
  • 常见问答:http://wiki.starling-framework.org/feathers/faq
  • Feathers代码风格约定:http://wiki.starling-framework.org/feathers/coding-conventions

实例演示

  • Components Explorer
  • Layout Explorer
  • Tile List
  • Gallery
  • Display Object Explorer

跨平台

利用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指定独立的渲染器.
  • 多维的数据描述.
  • 屏幕导航
  • 使用事件或消息来驱动屏幕切换 (如游戏中的菜单).
  • 屏幕切换时的数据共享
  • 为屏幕切换指定动画.
举报

相关推荐

0 条评论