X68000 XCライブラリVer.2 早引き君
目次
- ■■■ スプライト ■■■
- 基本的な表示方法
- BASIC用の命令を使った表示
- 正誤表
スプライト
基本的な表示方法
BASIC用の命令を使った表示
BASIC用のsp_defは引数のパターンデータの設定が16x16ドットの場合でも順番が見た目通りになる。
SP_DEFCGでは順番が特殊(正確には仕様通り)になる。
char spPattern01[256] = {
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
};
sp_init();
sp_def(0, spPattern01, 1);
sp_def(1, spPattern01, 1);
sp_def(2, spPattern01, 1);
sp_def(3, spPattern01, 1);
sp_def(4, spPattern01, 1);
sp_def(5, spPattern01, 1);
sp_def(6, spPattern01, 1);
sp_color(0, IntColors, 1);
sp_on()
sp_disp(1)
sp_move(0, 128, 128, 0);
正誤表
SPALET
間違い int SPALET(CODE, BLOCK, COLORCODE);
正解 int SPALET(SPRITE PALET NUMBER, PALET BLOCK, COLORCODE);
説明 XCライブラリマニュアルでは第一引数が垂直同期設定になっているが、実際は第1引数の31ビット目がVSYNC検出フラグ、7~0ビット目がパレットコード。
SP_REGST
間違い int SP_REGST(SPRITENO, MODE, X, Y, CODE, PAW);
正解 int SP_REGST(SPRITENO, X, Y, CODE, PAW);
説明 XCライブラリマニュアルでは第二引数が垂直同期設定になっているが、そもそも垂直同期設定の引数は第一引数の31bit目。つまり第1引数の31ビット目がVSYNV検出フラグ、6~0ビット目がスプライト番号。