xbasipパッケージconsoleモジュールscreen(disp_size, page_mode, res=1, disp_on=True)
disp_size -- 表示画面サイズ
page_size -- 実画面(ページ)のサイズおよび色数、ページ数
res -- スキャン
disp_on -- グラフィック画面の表示ON/OFF
width(columns)
columns -- 表示桁数
console(start, lines, fkey)
start -- スクロール開始行(0~31)lines -- スクロール行数(1~32)fkey -- ファンクションキー表示
cls(all_clear=False)
all_clear
locate(x, y, cur_on=None)
x -- X座標y -- Y座標cur_on -- カーソル表示スイッチ
pos()
csrlin()
color(pal)
pal -- 色/属性コード
tpalet(pal=None, color=None)
pal -- パレット番号
color -- カラーコード
tpalet2(pal=None, color=None)
pal -- パレット番号
color -- カラーコード
inkey(wait=True)
wait
inkeyS(wait=True)
wait
''を返しますinkey0()
戻り値 -- キャラクタコードkeyinp()
戻り値
keysns()
戻り値
sftsns()
戻り値
bitsns(group)
group -- キーコードグループ(0x0~0xe)戻り値
| グループ | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 | 
|---|---|---|---|---|---|---|---|---|
| 0x0 | 6& | 5% | 4$ | 3# | 2" | 1! | ESC | 未定義 | 
| 0x1 | BS | \| | ^~ | -= | 0 | 9) | 8( | 7' | 
| 0x2 | U | Y | T | R | E | W | Q | TAB | 
| 0x3 | S | A | CR | [{ | @` | P | O | I | 
| 0x4 | ;+ | L | K | J | H | G | F | D | 
| 0x5 | N | B | V | C | X | Z | ]} | :* | 
| 0x6 | DEL | HOME | SPACE | _ | /? | .> | ,< | M | 
| 0x7 | CLR | ↓ | → | ↑ | ← | UNDO | R_DN | R_UP | 
| 0x8 | 4 | + | 9 | 8 | 7 | - | * | / | 
| 0x9 | 0 | ENTER | 3 | 2 | 1 | = | 6 | 5 | 
| 0xa | XF3 | XF2 | XF1 | HELP | 登録 | 記号 | . | , | 
| 0xb | ひら | INS | CAPS | コード | ローマ字 | かな | XF5 | XF4 | 
| 0xc | F5 | F4 | F3 | F2 | F1 | COPY | BREAK | 全角 | 
| 0xd | 未定義 | 未定義 | 未定義 | F10 | F9 | F8 | F7 | F6 | 
| 0xe | 未定義 | 未定義 | 未定義 | 未定義 | OPT.2 | OPT.1 | CTRL | SHIFT | 
| 0xf | 未定義 | 未定義 | 未定義 | 未定義 | 未定義 | 未定義 | 未定義 | 未定義 | 
keyflush()
key(fn, buf=None)
fn -- ファンクションキー番号
buf -- 定義文字列
戻り値
funckey_on()
funckey_off()
cursor_on()
cursor_off()
deffont(code, buf, font_size=1)
code -- 外字文字コード
buf -- フォントデータ(bytearrayもしくはbytes)。1バイトあたり8画素font_size -- フォントサイズ
getfont(code, buf=None, font_size=1)
code -- 文字コードbuf -- データの格納先(bytearray)。省略時は内部で確保しますfont_size -- フォントサイズ
戻り値 -- tupleで (w, h, buf)を返します
beep()
end(msg=None)
msg -- 終了メッセージ
priority(sp, tx, gr)
sp -- スプライト/BGの優先度
tx -- テキスト/マウスカーソルの優先度
gr -- グラフィックの優先度
crtmod(mode, disp_on=True)
mode -- CRTモードdisp_on -- グラフィック画面の表示ON/OFF
| CRTモード | 実画面 | 表示画面 | 色数 | 枚数 | KHz | 
|---|---|---|---|---|---|
| 0 | 1024×1024 | 512×512 | 16 | 1 | 31 | 
| 1 | 1024×1024 | 512×512 | 16 | 1 | 15 | 
| 2 | 1024×1024 | 256×256 | 16 | 1 | 31 | 
| 3 | 1024×1024 | 256×256 | 16 | 1 | 15 | 
| 4 | 512×512 | 512×512 | 16 | 4 | 31 | 
| 5 | 512×512 | 512×512 | 16 | 4 | 15 | 
| 6 | 512×512 | 256×256 | 16 | 4 | 31 | 
| 7 | 512×512 | 256×256 | 16 | 4 | 15 | 
| 8 | 512×512 | 512×512 | 256 | 2 | 31 | 
| 9 | 512×512 | 512×512 | 256 | 2 | 15 | 
| 10 | 512×512 | 256×256 | 256 | 2 | 31 | 
| 11 | 512×512 | 256×256 | 256 | 2 | 15 | 
| 12 | 512×512 | 512×512 | 65536 | 1 | 31 | 
| 13 | 512×512 | 512×512 | 65536 | 1 | 15 | 
| 14 | 512×512 | 256×256 | 65536 | 1 | 31 | 
| 15 | 512×512 | 256×256 | 65536 | 1 | 15 | 
| 16 | 1024×1024 | 768×512 | 16 | 1 | 31 | 
表示画面
実画面
4プレーンのビットマップで構成されていますが、通常のテキスト表示にはプレーン0、1のみを使用し、プレーン2、3はマウスカーソルやソフトキーボードに割り当てられています。そのため、color()では実質4色しか使用できません。
カーソルキーはファンクションキーとしてユーザー定義可能です。そのため、inkey()で読み出される値はユーザーにより異なってしまいます。プログラムの最初にkey()により再定義することで解決します。key()で定義したファンクションキーはend()で終了する際に元の定義に戻ります。下記の例はカーソルキーをテンキー相当に定義します。
key(25, "8") # UP
key(26, "4") # LEFT
key(27, "6") # RIGHT
key(28, "2") # DOWN
キー入力がバッファにたまって扱いにくい場合がありますが、inkey()の前にkeyflush()でバッファをクリアすることができます。
print("何かキーを押してください")
keyflush()
k = inkey()
inkey()系の関数は、キーデータバッファを経由する事やリピート動作によってタイムラグがあるなど、アクションゲームにはあまり向いていません。複数キーの同時判定もできるbitsns()が有効です。
外字フォントを定義することにより、print()を使ってユーザー定義のキャラクタを表示することが可能です。
deffont(0x0ec40, b"\xff"*8+b"\x77"*8+b"\x33"*8+b"\x11"*8)
print(chr(0xec40))
deffont()で定義した外字フォントはend()で終了する際に元の定義に戻ります。