NNS_G2dCharCanvasMakeCell*

構文


#include <nnsys/g2d/g2d_CharCanvas.h>

void NNS_G2dCharCanvasMakeCell1D(
    NNSG2dCellData*         pCell,
    const NNSG2dCharCanvas* pCC,
    int                     x,
    int                     y,
    int                     priority,
    GXOamMode               mode,
    BOOL                    mosaic,
    GXOamEffect             effect,
    GXOamColorMode          color,
    int                     charName,
    int                     cParam,
    NNSG2dOBJVramMode       vramMode,
    BOOL                    makeBR
);

void NNS_G2dCharCanvasMakeCell2DRect(
    NNSG2dCellData*         pCell,
    const NNSG2dCharCanvas* pCC,
    int                     x,
    int                     y,
    int                     priority,
    GXOamMode               mode,
    BOOL                    mosaic,
    GXOamEffect             effect,
    GXOamColorMode          color,
    int                     charName,
    int                     cParam,
    BOOL                    makeBR
);

引数

pCell [OUT] セルデータを格納するバッファへのポインタ。
pCC [IN] CharCanvas へのポインタ
x [IN] セルの中心座標(CharCanvas座標系)
y [IN] セルの中心座標(CharCanvas座標系)
priority [IN] セルのプライオリティ
mode [IN] セルのOBJモード
mosaic [IN] セルのモザイクの有無
effect [IN] セルのエフェクト
color [IN] CharCanvas のカラーモード
charName [IN] CharCanvas が使用している先頭キャラクタネーム
cParam [IN] カラーパレットNo.
vramMode [IN] OBJ VRAM 容量
makeBR [IN] 境界矩形情報を付加するかどうかを指定します。

返り値

なし。

説明

NNS_G2dCharCanvasInitForOBJ1D() および NNS_G2dCharCanvasInitForOBJ2DRect() で初期化した CharCanvas を実際に画面に表示するためのセルを構築します。 この関数で構築したセルをG2Dレンダラを用いて描画することで CharCanvasを容易に回転/拡縮/移動させながら表示する事が出来ます。

pCell にはセルデータとセルデータから参照される各種情報を格納するのに 十分な大きさのバッファを確保して指定します。 必要なバッファのサイズは NNS_G2dCharCanvasCalcCellDataSize1D() または NNS_G2dCharCanvasCalcCellDataSize2DRect() で求めることが出来ます。

pCCにはセルとして表示するCharCanvasへのポインタを指定します。

中心座標(x, y)はレンダラでセルを 描画する場合に配置の基準となる点です。 特に回転を行う場合は、この点を中心として回転することになります。

OBJ VRAM容量 vramMode にはハードウェアのVRAM最大容量設定に応じて、以下のいずれかを指定します。

NNS_G2D_OBJVRAMMODE_32K 使用可能 OBJ VRAM 最大容量 32KB
NNS_G2D_OBJVRAMMODE_64K 使用可能 OBJ VRAM 最大容量 64KB
NNS_G2D_OBJVRAMMODE_128K 使用可能 OBJ VRAM 最大容量 128KB
NNS_G2D_OBJVRAMMODE_256K 使用可能 OBJ VRAM 最大容量 256KB

makeBR では境界矩形情報を付加するかどうかを指定します。 これは g2dcvtr-br オプションに相当します。

上記以外の引数については SDK API リファレンスの G2_SetOBJAttr() を参照してください。

この関数は内部での作業用バッファをスタックに確保します。 作業用バッファのサイズは pCell に必要なバッファサイズの約4/3倍で、 比較的大きなサイズとなるためスタックオーバーフローが発生しないように注意してください。

この関数は使用するOBJ数/キャラクタ数を最小にしようとしますので 8x32ピクセル等の細長いOBJを使用する可能性があります。 このような細長いOBJを回転させるとOBJの端が欠ける事となってしまいます。 細長いOBJがセルに含まれないようにするためにはキャラクタ単位でのCharCanvasの幅や高さが 素因数として2を多く含むようにします。 幅と高さが共にキャラクタ単位で8の倍数であれば細長いOBJは含まれません。

参照

履歴

2007/02/16 初版

2005/07/12 初版