#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 初版