2012年6月26日火曜日

Starling公式デモアプリの各シーンについて 2/2

Starling公式デモアプリの各シーンについて簡単に説明します。前半に引き続きの後半の4つです。

Custom hit-testシーン(src/scenes/CustomHitTestScene.as


反応する領域を円形にカスタムしたボタンのデモです。

通常Starlingのボタンが反応する領域は使用されている画像を囲む矩形(長方形)です。なのでこのデモのように円形に近い画像だと角の透明部分でも反応してしまいます。そこでこのデモでは独自のhitTest()関数を定義して反応する領域と画像の形にあまりズレがないようにしています。

Movie Clipシーン(src/scenes/MovieScene.as


ムービークリップのデモです。

ActionScriptの[Embed]タグで埋め込んだスプライトシートを元にパラパラ漫画の要領でアニメーションを再生します。

ちなみにStarlingのMovieClipクラスの機能はネイティブのMovieClipクラスに比べると限定的です。(Spriteクラスではなく)Imageクラスを拡張していることから見ても、単に一連の画像を順番に表示させるのに使うクラスといった位置付けです。

Benchmarkシーン(src/scenes/BenchmarkScene.as


簡易的なベンチマークテストができるデモです。

「Start benchmark」ボタンを押すと画像がどんどん増殖します。描画負荷が高まり、フレームレートが低下すると終了し結果が表示されます。

ちなみに手持ちのPCでは8770個(60fps)、iPhone 4では230リリースビルド書き出しで530個(30fps)でした。(PCでは終了するまで1分以上かかりました。)

このデモのように同じ画像をたくさん表示するような場合は、QuadBatchクラスを使うとさらにパフォーマンスアップできるでしょう。

Render Textureシーン(src/scenes/RenderTextureScene.as


タッチ(ドラッグ)操作で絵が書けるデモです。

上のボタンでDraw(描く)モードとErase(消す)モードを切替られます。
ちょっと気づきにくいですが、実はマルチタッチで描け(消せ)ます。

このデモでの描画処理はRenderTextureクラスを利用してGPUのパワーを効率良く使っています。


各シーンの説明おしまい。

0 件のコメント:

コメントを投稿

コメントありがとう