このページでは Term
API について解説する。
参考資料:
執筆時のバージョン:
- ComputerCraft 1.55 for Minecraft 1.6.2
Term API
コンピュータやタートル、モニターの画面への出力を制御する。
出力文字列のフォーマットを整えるだけでなく、アスキーアートを描くのにも使える。
write
- term.write( text )
- text(文字列)を画面へ出力する
- 戻り値:nil
文字列 text は画面のカーソル位置から出力される。
term.write関数は、print関数と違い文字列末尾では自動的に改行をせず、次の文字列は文字列 text の直後から表示される。表示位置は後述のterm.setCursorPos関数などで指定する。
例:
term.write( "Hello, World!" )
画面に文字列「Hello, World!」を出力する。
clear
- term.clear()
- 画面をクリアする
- 戻り値:nil
カーソル位置は変わらない。
例:
term.clear()
term.setCursorPos( 1 , 1 )
画面をクリアし、カーソル位置を 1, 1(初期位置)へ移動する。
clearLine
- term.clearLine()
- カーソルのある行をクリアする
- 戻り値:nil
カーソル位置は変わらない。
getCursorPos
- term.getCursorPos()
- カーソル位置を取得する
- 戻り値:数値型(x), 数値型(y)。カーソル位置の座標(x, y)
画面の左上は 1, 1。
例:
print( term.getCursorPos() )
カーソル位置を取得し画面に表示する。
setCursorPos
- term.setCursorPos( x , y )
- カーソル位置を整数の座標 x(数値) , y(数値)にセットする
- 戻り値:nil
例:
term.setCursorPos( 1 , 1 )
カーソルを画面左上へ移動する。
local oldx, oldy = term.getCursorPos()
term.setCursorPos( 1 , oldy )
現在のカーソル位置を取得し、カーソルを現在の行の先頭へ移動する。
setCursorBlink
- term.setCursorBlink( state )
- state(ブーリアン)がtrueの場合はカーソルの点滅をONにし、falseの場合はOFFにする
- 戻り値:nil
例:
term.setCursorBlink(true)
sleep(3)
term.setCursorBlink(false)
sleep(3)
カーソルの点滅を3秒間ONにし、さらに3秒間OFFにする。
getSize
- term.getSize()
- 画面のサイズ(右下の座標)を取得する
- 戻り値:数値型(x), 数値型(y)。画面のサイズ(x, y)
例:
local w, h = term.getSize()
term.setCursorPos(w,1)
画面のサイズを取得し、カーソルを1行目の右端へ移動する
scroll
- term.scroll( n )
- 画面を整数n(数値)行だけスクロールする
- 戻り値:nil
redirect
- term.redirect( monitor )
- 出力画面をmonitor(peripheral.wrap関数で取得したモニターのオブジェクト)に切り替える
- 戻り値:nil
【1.48-】切り替えたモニターがAdvanced Monitorの場合、モニター画面に対してクリックなどを行うと、通常のmonitor_touchイベントに加えてmouse系イベントも発生する。ちなみに、モニターへ出力しているのがAdvanced Computer/Turtleの場合、その状態でGUIに対してクリックなどを行ってもmouse系イベントが発生する。
例:
term.redirect( peripheral.wrap( "right" ) )
print("Hello World!")
出力先を右にあるモニターへ切り替えて、文字列「Hello World!」を表示する。
restore
- term.restore()
- 出力先を元へ戻す
- 戻り値:nil
出力先をモニターへ切り替た後、出力先を元(コンピュータやタートルの画面)に戻すために使う。
例:
term.redirect( peripheral.wrap( "right" ) )
-- この間、文字はモニターの方へ出力される --
term.restore()
出力先を右にあるモニターへ切り替えた後、出力先を元に戻す。
isColor
【1.45-】
- term.isColor()
- 現在の表示デバイス(コンピュータ、モニター)がカラーに対応しているかを取得する。
- 戻り値:ブーリアン型。カラーに対応しているならtrue、していないならfalseが返る。
関数名は term.isColour(イギリス綴り)でも可。
CC1.55現在でtrueを返すのはAdvanced ComputerとAdvanced Turtle、Advanced Monitorのみである。
setTextColor
【1.45-】
- term.setTextColor( color )
- 以降の文字色を色定数color(数値)に変更する
- 戻り値:nil
関数名は term.setTexColour(イギリス綴り)でも可。
colorは
Colors APIの色定数。
colors.white、colors.black 以外の色は Advanced Computer、Advanced Monitor専用。
複数のビットが1の場合は最上位ビットの色になる。
colorの値が正しくない場合はエラーとなり、色はデフォルト(白)に戻る。
setBackgroundColor
【1.45-】
- term.setBackgroundColor( color )
- 以降の背景色を色定数color(数値)に変更する
- 戻り値:nil
関数名は term.setBackgroundColour(イギリス綴り)でも可。
colorは
Colors APIの色定数。
colors.white、colors.black 以外の色は Advanced Computer、Advanced Monitor専用。
複数のビットが1の場合は最上位ビットの色になる。
colorの値が正しくない場合はエラーとなり色は変わらないが、文字色がデフォルト(白)に戻る。
最終更新:2013年07月28日 12:21