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の領域と重なっている。