NNS_G2dCalcRequiredOBJ*

構文


#include <nnsys/g2d/g2d_CharCanvas.h>

int NNS_G2dCalcRequiredOBJ1D(
    int areaWidth,
    int areaHeight
);

int NNS_G2dCalcRequiredOBJ2DRect(
    int areaWidth,
    int areaHeight
);

引数

areaWidth [IN] CharCanvas の幅 (キャラクタ単位)
areaHeight [IN] CharCanvas の高さ (キャラクタ単位)

返り値

CharCanvas を表示するのに必要な OBJ の数を返します。

説明

NNS_G2dArrangeOBJ1D() および NNS_G2dArrangeOBJ2DRect() が必要とする OBJ の数を計算します。
NNS_G2dCalcRequiredOBJ* の計算結果表も参照してください。

サンプルコード


/*
 *  128 個ある OBJ の後ろから CharCanvas 表示用に割り当てます。
 */

NNSG2dCharCanvas cc;
GXCharFmt16* const charBase = (GXCharFmt16*)G2_GetOBJCharPtr();
GXOamAttr* const oamBase = (GXOamAttr*)HW_OAM;
const int width = 15;
const int height = 10;
const int x = 30;
const int y = 20;
const int charNo = 4;
int objNo;

// CharCanvas を初期化します
NNS_G2dCharCanvasInitForOBJ1D(
    &cc,                            // 
    charBase + charNo,              // キャラクタへのポインタ
    width,                          // 幅
    height,                         // 高さ
    NNS_G2D_CHARA_COLORMODE_16      // カラーモード
);

// 必要なOBJの数を計算してOBJ開始位置を求めます
objNo = 128 - NNS_G2dCalcRequiredOBJ1D(width, height);

// OBJを配置します
NNS_G2dArrangeOBJ1D(
    oamBase + objNo,        // OAMへのポインタ
    width,                  // 幅
    height,                 // 高さ
    x,                      // 位置 x
    y,                      // 位置 y
    GX_OAM_COLORMODE_16,    // カラーモード
    charNo                  // キャラクタネーム
);

/*
    以下、OBJ の設定、TextCanvasの構築など
*/

参照

NNS_G2dArrangeOBJ1D(), NNS_G2dArrangeOBJ2DRect()

履歴

2005/05/25 初版