Feathers:faq
原文地址:http://wiki.starling-framework.org/feathers/faq
Feathers常见问题解答(FAQ)
关于Feathers的常见问题解答.
一般问题
谁是Feathers的幕后开发者?
Feathers由Josh Tynjala创建, 他是一个为Flash的生态系统工作了将近十年的资深flash开发者。他为其他开发者创建自定义用户组件已经有有很多年的经验了,并且他也制作了不少基于Flex框架的完整应用。Josh做过几年独立制片人,他尝试着亲手为网页和手机制作一些随性的游戏。Feathers因用户界面组件的需要而产生,在移动设备运行优良而且可以用多种方式更改皮肤。
"Feathers"的名字怎么来的?
一只鸟的羽毛(Feathers)提供了机能性和审美的好处,我认为非常类似用户接口组件来提高如Starling框架的图形类库。
我在哪里可以下载最新的Feathers稳定版?
访问Feathers网站获取最新的Feathers稳定版。
我在哪里可以下载最新的Feathers不稳定版/开发版/beta版?
访问Feathers在Github的工程的网址获取最新的Feathers代码,这些代码最终将会成为下一个稳定版。小心Bug!
我怎么知道下周Feathers不会被放弃?
虽然Feathers是一个独立的开源项目,但Feathers的发展受到Adobe的支持。成为这种伙伴关系第一步,Feathers被包含在Adobe游戏开发SDK中,连同Starling框架和其他工具与Adobe技术一起来开发游戏。展望未来,Adobe计划更加紧密地集成Starling框架和Feathers作为其将来的设计和开发工具。
技术要求
什么操作系统可以运行用Feathers制作的应用程序?
Feathers使用Adobe AIR,它可以创建完全独立原生的iOS、Android(包括NOOK Color/平板,Kindle Fire),Windows和Mac OS X的应用。它还可以在浏览器上的Adobe Flash Player运行。
Adobe AIR不需要安装独立的运行时吗?
不再需要了。Adobe AIR的运行时绑定特性允许你捆成你需要的一切成一个包。它使你的应用程序的安装大小稍微大了一些,但这不会使在第三方框架的图形、音频、您可能需要建立的任何形式的本地应用程序脚本调用有任何不同。
如果你喜欢使用Adobe提供的独立运行时,也仍是一个选项。由于发布应用程序到苹果应用程序商店的规则,iOS一直都支持绑定运行时。
哪个版本的Adobe运行时受支持或是必需的?
通常,最新版本的Adobe AIR或Adobe Flash播放器是受支持的。Feathers可能仍然能在老版本上运行,但不保证一定能行。一定要检查README文件来确定当前的需求。
哪个版本的Starling框架是受支持的或是必需的?
一般来说,这个版本的Feathers将使用最新版本的Starling框架(官方下载页面)。老版本的Starling可能保持兼容最新版本的Feathers,但他们不是官方所支持的。
使用Feathers Github项目中最新的、最前沿的代码您要自己承担风险。这些代码在发展中,它可能有时候是不稳定的。如果Feathers已经开始使用Starling Github项目的新特性或者任何Starling api已经改变了,我们可能需要使用它最新的代码。检查Feathers README文件,看看目前不稳定版本的Feathers所需要的是哪个版本的Starling。
常见问题
给作为一个新的Feathers使用者可能遇到的常见问题一些建议。
当我添加一个Feathers组件到显示列表,为什么不要我看见什么吗?
你之前有实例化过一个主题吗?如果没有,你有提供你自己的皮肤吗?Feathers组件没有默认皮肤。默认皮肤会增加不必要的额外的文件到你的项目。在移动平台上,每个字节都被计数,特别是Adobe AIR的绑定运行时已经是相当大了。看看开始使用Feathers是如何实例化一个主题。只有一行代码而已。
我第一次试图展示一个Feathers组件时,为什么我会得到空对象引用的运行时错误?
你之前有实例化过一个主题吗?如果没有,你有提供你自己的皮肤吗?Feathers组件没有默认皮肤。默认皮肤会增加不必要的额外的文件到你的项目。在移动平台上,每个字节都被计数,特别是Adobe AIR的绑定运行时已经是相当大了。看看开始使用Feathers是如何实例化一个主题。只有一行代码而已。
为什么Feathers组件皮肤和字体大小显得非常小?
Feathers的主题,包括测量皮肤的例子、字体、基于不同设备的屏幕DPI确保组件和文本显示相同的物理大小(以英寸或厘米)的其他资源。Capabilities.screenDPI值是Flash运行时报道的。一些IDE似乎不通知ADL(AIR调试启动器),ADL是一个需要定制DPI值来正确模拟的特定设备。下面的说明应该帮助你在各种IDE中修复这个问题。
Flash Builder
确保项目类型是一个“ActionScript移动项目”。你可以在“运行配置(Run Configurations)”或者“调试配置(Debug Configurations)”对话框中选择模拟设备。
Flash Professional
未知的。Josh的Flash专业版自从CS5.5并不是没有升级。它可能会遵循以下“其他环境”的说明。
IntelliJ IDEA
确保模块类型是一个AIR移动平台的ActionScript应用,你可以在“运行配置”/“运行配置”对话框中选择模拟设备。对于IntelliJ IDEA 11,在其他环境中遵循下面的说明。
其他环境
添加参数-XscreenDPI(dpi)到ADL的命令行。你的IDE对于这个地方应该开放一个域。用你想模拟的设备中适当的DPI值取代(dpi)。例如,模拟一个iPhone的视网膜显示屏,您将使用-XscreenDPI 326。维基百科的文章像素密度决定的显示列表提供了一个有用的你可能对许多不同想要模拟的设备DPI值列表(和显示屏分辨率)。
当我试图访问一个Feathers组件的宽度或高度属性,为什么我得到的值是0?
Feathers组件使用一个失效系统延迟一会儿繁重的重绘,这样你可以在一个时间内改变多个属性。如果你还没有明确地设置宽度和高度,他们会自动调整自身到一套“理想”的尺度。然而,这并不会发生,直到他们验证或者重绘。你可以短路延迟验证,并通过调用validate()函数自己使它立即发生。
label.text = "hello"; trace( label.width ); // 0 label.validate(); //立即重绘自己 trace( label.width ); // 150 (或者是一个接近你选择的值)
请注意,该组件必须用validate()运行在显示列表中。如果组件没有访问舞台,调用validate()没有任何作用。 更多的信息关于Feathers,回头阅读Feathers文档。
翻译者:吴金鸿