About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Feb

    3

    Feathers 3.0 “升级指南:多种分辨率开发”一些备注

    • 0 Comments
    • Flash Platform
    • 发布:古树悬叶
    • 引用:0
    • 浏览:

    升级指南:使用 Feathers 组件进行多分辨率开发:

    Feathers 3.0 完全支持 Starling 多分辨率开发中描述的 Starling 的 contentScaleFactor 系统。Feathers 甚至还提供了一些技巧,使其很容易扩展到任何移动设备的屏幕,同时保持其原生长宽比。

    屏幕像素密度缩放因子管理器(ScreenDensityScaleFactorManager):

    ScreenDensityScaleFactorManager 类提供了一种方便的方式,用来自动计算恰当的 contentScaleFactor 值,同时保持移动设备屏幕的宽高比(这是受到 Android 系统的启发,同时考虑了屏幕的像素密度和分辨率尺寸)。

    下面的代码演示了 ScreenDensityScaleFactorManager 的使用方法:

    public class Startup extends Sprite
    {
        private var mStarling:Starling;
        private var mScaler:ScreenDensityScaleFactorManager;

        public function Startup()
        {
            mStarling = new Starling( Game, stage );
            mScaler = new ScreenDensityScaleFactorManager( mStarling );
            mStarling.start();
        }
    }

    开发者不需要设置 Starling 的 viewPort,也不需要设置 Starling 舞台的 stageHeight 与 stageWidth 属性。ScreenDensityScaleFactorManager 类会自动为开发者处理这些(既使设备旋转了方向)。

    在使用 Feathers 库进行开发的时候,ScreenDensityScaleFactorManager 的使用是可选的。如果想按 Starling WIKI 手册中 《Multi-Resolution Development》介绍的那样手动设置 viewPort 与  舞台的 stageHeight 与 stageWidth 属性也同样可以。

    示例主题的变化:

    Feathers UI 库提供的示例主题已被修改成为允许 Starling 通过 contentScaleFactor 自动缩放资源,在示例主题中的缩放因子为 2。示例主题的缩放因子不再是通过屏幕像素密度计算出来的,无论是像素尺寸或字体大小,都使用相同的缩放因子。

    如果示例主题的子类定义了一个 scale9Grid 矩形,值可能需要经过缩放计算才能适合在 Feathers 3.0 中使用。在以前的 Feathers 版本中,示例主题的纹理缩放因子都是 1,然后手动计算需要缩放的倍数。由于现在的缩放因子变成了2,因为旧的 scale9Grid 相关的值应该除以2。需要注意的是,如果原先是个奇,向上取整,皮肤 可能需要扩展额外的像素以取得偶数值。

    • Tags:
    • 2017 / 2 / 3
    相关文章:
      Post Comment.

      发表评论