サイトトップ

Director Flash 書籍 業務内容 プロフィール

Adobe Flash非公式テクニカルノート

Starlingフレームワーク1.5リリース候補

ID: FN1404005 Product: Flash CC Platform: All Version: 11 and above/ActionScript 3.0

Starlingの開発版には、多くの最適化やバグ修正、および新たな機能が加えられました。そこで、現行バージョンが1.5リリース候補となりました。みなさんが開発されたゲームコンテンツでお試しください。今のところ、大きな障害は見つかっていません。とくに問題がないようでしたら、バージョン1.5の正規版として近く公開されます。Starling Forumの記事「Starling 1.5 Release Candidate」より、おもな変更点をご紹介します。


01 プロファイルの自動選択

Adobeは先にStage3Dの新たなプロファイルとしてContext3DProfile.BASELINE_EXTENDEDを加えました。これにより、4096×4096ピクセルのテクスチャが使えます。今や標準となった大きなテーブルの解像度が扱えるのです。

しかし、デバイスごとに正しいプロファイルを選ばなければなりません。そこで、ゲームの動いているハードウェアに合わせて、Starlingが自動的にプロファイルを選べるようにしました。

サポートするプロファイルは、つぎのようにStarling()コンストラクタの第6引数として、複数を配列に入れて渡せます。

new Starling(Game, stage, null, null, "auto", ["baseline", "baselineExtended"]);

さらに、つぎのように定めれば、最適なプロファイルが選ばれます。

new Starling(Game, stage, null, null, "auto", "auto");

Starlingが初期化できたら、使われているプロファイルはStarling.profileプロパティで調べられます。そうすれば、そのプロファイルにゲームの処理が合わせられるのです。たとえば、プロファイルが最高なら高品質のHDテクスチャもロードできます。

デフォルトは、安全のため"baselineConstrained"としています。また、複数のプロファイルをサポートするには、その分のテストが求められるでしょう。


02 可能な場合にはRectangleTextureオブジェクトを自動的に用いる

内部的な設計上の理由により、デフォルトの2の累乗サイズのStage3Dテクスチャは、実際には使わなくてもミップマップ用のメモリを割当てます。

けれど、"baseline"プロファイルからは、Stage3DがRectangleTextureオブジェクトをサポートします。すると、2の累乗の縦横サイズでなくても済みます。さらによいのは、ミップマップメモリも割当てなくなることです。

そこで、StarlingはできるかぎりRectangleTextureオブジェクトをデフォルトとします。そのためには、つぎのことを行います。

  • Starlingを"baseline"か"baselineExtended"のプロファイルで始めます。あるいは、"auto"にしてもよいでしょう。
  • StarlingのテクスチャやAssetManagerのオブジェクトをつくるとき、ミップマップを使うかどうかの引数はfalseとします。

これらにより、Starlingは自動的にRectangleTextureオブジェクトを用い、テクスチャに費やすメモリが33%減らせます。


03 回転したサブテクスチャのサポートを追加

TexturePackerのユーザーには、StarlingやSparrowの形式で書出すとき、アトラス内で回転させて、効率的にテクスチャをつくる手があります。Starling 1.5ではこのテクスチャの回転がサポートされます。

これにより、アトラスの数を減らして、さらにメモリを節約することもできるでしょう。


04 touchGroupプロパティの追加

DisplayObjectContainerインスタンスは、新たにtouchGroupというプロパティを備えました。これは、長く要望されていたプロパティです。有効に定めると、タッチ操作できるひとつのオブジェクトのように扱えます。FlashのDisplayObject.mouseChildrenプロパティと似た機能です。


05 起動時間が大幅に速まった

Starlingは、AGALプログラムを必要に応じて動的につくるようになったため、起動の時間がかからなくなりました。これは大きな効率化です。


06 細かな改善

  • AssetManagerでテクスチャひとつひとつに設定ができます。
  • 新たに備わったSystemUtilクラスがマルチプラットフォームの開発を助けます。
    • たとえば、デスクトップとモバイルにおける動作など。
  • Jugglerクラスに便利なrepeatCall()メソッドが加わりました。
  • MovieClipオブジェクトが「ミュート」できます。

07 ゲームが動くようにするために

モバイルでは、開発用デバイスでは動くにもかかわらず、ある特定のデバイスファミリーだけで起こることにたびたび悩まされます。Starling 1.5では、それらの多くを解決しています。

  • iPad 1におけるRectangleTextureの制限(RenderTexture)が解消されました。
  • AssetManagerクラスは、AIRの新しいバックグラウンド実行モードをサポートします。
  • コンテクスト消滅はさらに検証して安定性を高めます。
  • AssetManagerクラスが、キューを処理している間のコンテクスト消滅に対応しました。

作成者: 野中文雄
作成日: 2014年4月30日


Copyright © 2001-2014 Fumio Nonaka.  All rights reserved.