504iから使用可能になった機能を紹介します。
これらはオプション機能であるため特定の機種のみ可能である場合が多く大きな効果をもたらす反面、
ある機種では動かないことになります。
自分の所有している機種、ユーザの多い機種専用で作ることも可能ですが
機種依存はまったく使用しないで作成して互換性を保つ手もあります。
数種類の小さな画像の組み合わせで構成されるイメージマップを扱います。
イメージマップ上にウインドウを設定して一部だけ表示できます。
RPGのフィールドに使えます。
描画する際に256倍に拡大された座標系として扱うことができます。
iアプリでは小数が使えないため、あらかじめ256倍の値としておくと小数を考えることなく描画できます。
小さな画像イメージを背景に重なったスプライトとして扱うことができます。
スプライトの描画は背景に影響を与えないので処理速度が上がります。
スプライト同士の衝突判定等をサポートしています。
描画されたグラフィックの任意の位置に点を打てたり、色情報を取得できます。
細かい描画や、画像を数値データとして扱うことができます。
任意の色を透明色として扱い、背景になじむようにします。
今までは透明GIFを使って1色のみが透明になるだけでした。
イメージの色パレットを使用できます。
一つのイメージの同一色を変更できますので色違いキャラが簡単にできます。
文字どおり、イメージの回転・反転・拡大縮小表示ができます。
これでメモリが少ないiアプリでも多彩な表現ができるようになりました。
範囲を指定してそれ以外の範囲を指定しても描画しないようにします。
今までは線がはみ出さないように計算する必要がありましたが、iアプリがやってくれます。
描画元のピクセルの色と描画際のピクセルの色を演算し描画を行います。
画像同士の重ねあわせや、色の置き換えなどが簡単に行えます。
描画内容のコピー:一度描かれた画像を別の場所にコピーできます。
アニメーションGIF内の特定フレームのイメージ描画:キャラクターの動きを
アニメーションGIFにまとめておくことで多彩な動きを表現できます。
数値の描画:数値を右詰めで表示できます。今までは座標計算が必要でした。
グラフィックコンテキストからのイメージ生成:描画内容のコピーと似ていますが
ラスタオペレーションと組み合わせて表現が広がります。
2色の中間色の取得:指定された一方の色の近さを指定できますので徐々に色が
変化していく表現ができます。
今までのiアプリでもアニメーションGIFに対応していました。
しかしアニメーションGIFとはパラパラ漫画のように画像を
何枚も重ねて作成されているので容量、再生品質、再生時間で劣ります。
DoJa2.0では最新の2Dアニメーション技術を活用した
動画コンテンツを再生する手段を提供します。
ただしこの2Dアニメーションは機種によってフォーマットが異なります。
3Dモデルの表示、アクション、回転、視点移動が可能です。
ポリゴンモデルや、背景に対してテクスチャを貼ることもできます。
3Dグラフィックスデータフォーマットはは端末により異なる可能性があります。
2Dグラフィックスと3Dグラフィックスを両方サポートしています。
3Dモデルを時間軸に沿ってアクションの定義が可能です。
503iではいくら同時発音数が多くても同時に1つのサウンドデータしか再生できませんでしたが、
MFi/Phraseでは仮想的なトラックに分割し、複数(最大4つ)のサウンドデータを再生できます。
503iでは再生の開始および停止をサポートしていましたが504iからは
一時停止と、再開がサポートされました。
サウンド再生時に様々なエフェクトをかけることが可能です。
音階の変動、ループ数の設定、ステレオ効果の変更、テンポ、ボリュームの変更がアプリ側から変更できます。
サウンドの特定の位置から再生が可能です。
サウンドデータの先頭からのミリ秒単位で設定ができます。
サウンドデータの任意の1チャンネルにノートメッセージを設定することで
イベントリスナーにイベントを発生できます。
ノートメッセージのあるチャンネルも発音されますがチャンネルの消音設定も可能です。
これにより画面とサウンドの同期を機種の動作速度を気にせず行うことができます。
以下のリソースを制御できるようになりました。
サブディスプレイの高さ、幅、カラーサポート、色数を取得できます。
サブディスプレイにはイメージのみ表示できます。
待ち受け画像と3Dキャラクタアニメーションのデータをアプリから
更新できます。ただしユーザ保護、著作権保護のために読み込みはできません。
またユーザアリアとは明確に分離され、書き込みの際にはダイアログでユーザの確認を求めます。
Copyright (C) 2011 ほぷしぃ. All Rights Reserved.