#include <nnsys/g2d/g2d_MultiCellAnimation.h>
void NNS_G2dInitMCAnimationInstance
(
NNSG2dMultiCellAnimation* pMultiCellAnim,
void* pWork,
const NNSG2dCellAnimBankData* pAnimBank,
const NNSG2dCellDataBank* pCellDataBank,
const NNSG2dMultiCellDataBank* pMultiCellDataBank,
NNSG2dMCType mcType
);
| pMultiCellAnim | [OUT] マルチセルアニメーション |
| pWork | [IN] マルチセル実体の使用するワーク領域 |
| pAnimBank | [IN] マルチセルを構成する セルアニメーションが定義されている アニメバンク |
| pCellDataBank | [IN] セルデータバンク |
| pMultiCellDataBank | [IN] マルチセルデータバンク |
| mcType | [IN] マルチセル実体の種類(NNSG2dMCType型) |
なし
マルチセルアニメーションを初期化します。
pWorkは実体の内部でワーク領域として使用されるメモリ領域へのポインタです。
実体の初期化に必要な、ワーク領域サイズはNNS_G2dGetMCWorkAreaSize() 関数を使用して、取得します。
mcTypeはマルチセルアニメーション実体の種類を表す、列挙子 NNSG2dMCType です。
NNSG2dMCType の定義を以下に示します。
mcType として、NNS_G2D_MCTYPE_DONOT_SHARE_CELLANIMを指定すると過去のバージョンと同一のデータ構造で実体が
初期化され、同じように処理されます。
typedef enum
{
NNS_G2D_MCTYPE_DONOT_SHARE_CELLANIM,
NNS_G2D_MCTYPE_SHARE_CELLANIM
}NNSG2dMCType;
プログラマがマルチセルの構成ノードにアクセスし、データ等を書き換えるなどの処理を行わない限り、
NNS_G2D_MCTYPE_SHARE_CELLANIMを指定して実体を初期化したほうが、メモリ消費量、処理効率の点から有利です。
mcTypeとして、NNS_G2D_MCTYPE_SHARE_CELLANIMが指定された場合、
マルチセル上の複数のノードで同一のアニメーションシーケンス再生を行うようなデータの入力があった場合に、
セルアニメーションの実体を複数ノード間で共有します。そのため、メモリ消費量や、アニメーション更新の処理負荷が減少します。
また、NNS_G2D_MCTYPE_SHARE_CELLANIMが指定された場合、マルチセルのランタイム実体はノードに相当する情報を保持しません。
そのため、ノード単位の位置の変更、アフィン変換、がサポートされません。
ただし、上記制限によって同一セルアニメーションを再生するノードでは必ず同一のアフィンパラメータを参照することが保障されるため、
特に2D グラフィックスエンジンを使用した描画の際に、NNS_G2D_MCTYPE_DONOT_SHARE_CELLANIM を指定した場合に比べて、よりハードウェア資源(=使用するアフィンパラメータ)を節約することが可能です。
本関数はNNS_G2dInitMCAnimation(), NNS_G2dInitMCInstance(), NNS_G2dSetMCDataToMCInstance() の代替関数として用意されました。
以前の関数は、互換性維持のため別名として残されています。
新規にご利用のかたは、こちらの関数をご利用ください。
NNS_G2dGetMCWorkAreaSize
NNS_G2dInitMCAnimation
NNS_G2dInitMCInstance
NNS_G2dSetMCDataToMCInstance
2005/01/31 初版