xbasipパッケージspriteモジュールsp_init()
sp_clr(code1=None, code2=None)
code1 -- 開始パターンコード(0~255)code2 -- 終了パターンコード(0~255)sp_color(pal, color, pal_blk=1, vsync=False)
pal -- パレット番号(0~15)color -- カラーコード
pal_blk -- パレットブロック(1~15)vsync -- Trueに設定すると垂直帰線期間まで待ってから処理します戻り値 -- 設定前のカラーコードsp_on(sp1=None, sp2=None, prio=3, vsync=False)
sp1 -- 開始スプライトプレーン(0~127)sp2 -- 終了スプライトプレーン(0~127)prio -- プライオリティ
vsync -- Trueに設定すると垂直帰線期間まで待ってから処理しますsp_off(sp1=None, sp2=None, vsync=False)
sp1 -- 開始スプライトプレーン(0~127)sp2 -- 終了スプライトプレーン(0~127)vsync -- Trueに設定すると垂直帰線期間まで待ってから処理しますsp_def(code, buf, pat_size=1)
code -- パターンコード(0~255)
buf -- パターンデータ(bytearrayもしくはbytes)。1バイトあたり2画素
pat_size -- パターンサイズ
sp_pat(code, buf=None, pat_size=1)
code -- パターンコード(0~255)buf -- パターンデータ(bytearrayもしくはbytes)。1バイトあたり2画素。省略時は内部で確保します
pat_size -- パターンサイズ
戻り値 -- パターンデータを返しますsp_move(sp, x, y, code, vsync=False)
sp -- スプライトプレーン(0~127)x -- X座標(-16~1007)。表示画面左上は座標(0,0)。sp_set()と異なるので注意y -- Y座標(-16~1007)code -- パターンコード(0~255)vsync -- Trueに設定すると垂直帰線期間まで待ってから処理しますsp_set(sp, x, y, code_ex, prio, vsync=False)
sp -- スプライトプレーン(0~127)x -- X座標(0~1023)。表示画面左上は座標(16,16)。sp_move()と異なるので注意y -- Y座標(0~1023)code_ex -- 拡張パターンコード
prio -- プライオリティ
vsync -- Trueに設定すると垂直帰線期間まで待ってから処理しますsp_disp(disp_on=True)
disp_on
sp_stat(sp)
sp -- スプライトプレーン(0~127)戻り値 -- (x, y, code_ex, prio)。tupleで返します。sp_set()の設定値に相当します
sp_code(code, hrev, vrev, pal_blk)
code -- パターンコード(0~255)hrev -- 水平反転(0、1)vrev -- 垂直反転(0、1)pal_blk -- パレットブロック(1~15)戻り値 -- 拡張パターンコード
bg_set(bg, page, disp_on=True)
bg -- BG表示画面(0、1)page -- BG実画面(0、1)disp_on
bg_scroll(bg, x, y, vsync=0)
bg -- BG表示画面(0、1)x -- スクロールX座標。BG表示画面の左上に対応するBG実画面のX座標(画素単位)
y -- スクロールY座標。BG表示画面の左上に対応するBG実画面のY座標(画素単位)
bg_fill(page, code_ex)
page -- BG実画面(0、1)code_ex -- 拡張パターンコード
bg_get(page, x, y)
page -- BG実画面(0、1)x -- X座標(0~63)y -- Y座標(0~63)戻り値 -- 拡張パターンコードbg_put(page, x, y, code_ex)
page -- BG実画面(0、1)x -- X座標(0~63)y -- Y座標(0~63)code_ex -- 拡張パターンコードbg_stat(bg) -- returns: (x, y, page, disp_on)
bg -- BG表示画面(0、1)戻り値 -- (x, y, page, disp_on)。tupleで返します
x : スクロールX座標
y : スクロールY座標
page : BG実画面(0、1)
disp_on : 表示状態(0、1)
16×16画素パターン1つの領域に8×8画素パターン4つを定義できる(ただしパターン総数は256個まで)
16×16画素パターンのパターンコードNは、8×8画素パターンのパターンコード4N~4N+3の領域と重なっている
表示画面
512×512画素×1層
16×16画素16色×32×32パターン
256×256画素×2層
8×8画素16色×32×32パターン
実画面
1024×1024画素16色(表示画面が512×512画素の場合)
16×16画素×64×64パターン×1ページ
512×512画素16色(表示画面が256×256画素の場合)
8×8画素×64×64パターン×2ページ。BG実画面を1ページのみ使用する場合は、ページ0ではなくページ1を使うとパターン領域を拡張できる(下記パターンの項目参照)。
表示画面
512×512画素
16×16画素16色×128スプライトプレーン
256×256画素
16×16画素16色×128スプライトプレーン
実画面(仮想座標系)
表示画面の左上隅(0,0)は、sp_set()では実画面(16,16)の位置、sp_move()では実画面(0,0)の位置。
BG実画面2枚の場合
8×8画素×最大256個、16×16画素×最大128個
BG実画面1枚の場合
8×8画素×最大256個、16×16画素×最大192個
BG実画面0枚の場合
8×8画素×最大256個、16×16画素×最大256個
16×16画素パターン1つの領域に8×8画素パターン4つを定義できる(ただしパターン総数は256個まで)。16×16画素パターンのパターンコードNは、8×8画素パターンのパターンコード4N~4N+3の領域と重なっている。