API > Term

「API/Term」の編集履歴(バックアップ)一覧に戻る
API/Term」を以下のとおり復元します。
このページでは Term API について解説する。

参考資料:
-[[Term API>http://computercraft.info/wiki/index.php?title=Term_(API)]]
執筆時のバージョン:
-ComputerCraft 1.55 for Minecraft 1.6.2

----
#contents
----

*Term API
コンピュータやタートル、モニターの画面への出力を制御する。
出力文字列のフォーマットを整えるだけでなく、アスキーアートを描くのにも使える。

モニターへの出力はTerm APIでも行えるが、[[Peripheral API>API/Peripheral]]で[[モニターのメソッド>API/Peripheral#id_ffee119b]]を呼び出した方がよい。

**write
-term.write( &i(){text} )
-&i(){text}(文字列)を画面へ出力する
-戻り値:nil

文字列 &i(){text} は画面のカーソル位置から出力される。
term.write関数は、print関数と違い文字列末尾では自動的に改行をせず、次の文字列は文字列 &i(){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()
-カーソル位置を取得する
-戻り値:数値型(&i(){x}), 数値型(&i(){y})。カーソル位置の座標(&i(){x}, &i(){y})

画面の左上は 1, 1。

例:
 print( term.getCursorPos() )
カーソル位置を取得し画面に表示する。

**setCursorPos
-term.setCursorPos( &i(){x} , &i(){y} )
-カーソル位置を整数の座標 &i(){x}(数値) , &i(){y}(数値)にセットする
-戻り値:nil

例:
 term.setCursorPos( 1 , 1 )
カーソルを画面左上へ移動する。

 local oldx, oldy = term.getCursorPos()
 term.setCursorPos( 1 , oldy )
現在のカーソル位置を取得し、カーソルを現在の行の先頭へ移動する。

**setCursorBlink
-term.setCursorBlink( &i(){state} )
-&i(){state}(ブーリアン)がtrueの場合はカーソルの点滅をONにし、falseの場合はOFFにする
-戻り値:nil

例:
 term.setCursorBlink(true)
 sleep(3)
 term.setCursorBlink(false)
 sleep(3)
カーソルの点滅を3秒間ONにし、さらに3秒間OFFにする。

**getSize
-term.getSize()
-画面のサイズ(右下の座標)を取得する
-戻り値:数値型(&i(){x}), 数値型(&i(){y})。画面のサイズ(&i(){x}, &i(){y})

例:
 local w, h = term.getSize()
 term.setCursorPos(w,1)
画面のサイズを取得し、カーソルを1行目の右端へ移動する

**scroll
-term.scroll( &i(){n} )
-画面を整数&i(){n}(数値)行だけスクロールする
-戻り値:nil

**redirect
-term.redirect( &i(){monitor} )
-出力画面を&i(){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.45現在でtrueを返すのはAdvanced ComputerとAdvanced Monitorのみである。

**setTextColor
【1.45-】
-term.setTextColor( &i(){color} )
-以降の文字色を色定数&i(){color}(数値)に変更する
-戻り値:nil

関数名は term.setTexColour(イギリス綴り)でも可。
&i(){color}は[[Colors APIの色定数>API/Redstone & Colors#id_3d3f6f8b]]。
colors.white、colors.black 以外の色は Advanced Computer、Advanced Monitor専用。
複数のビットが1の場合は最上位ビットの色になる。&i(){color}の値が正しくない場合はエラーとなり、色はデフォルト(白)に戻る。

**setBackgroundColor
【1.45-】
-term.setBackgroundColor( &i(){color} )
-以降の背景色を色定数&i(){color}(数値)に変更する
-戻り値:nil

関数名は term.setBackgroundColour(イギリス綴り)でも可。
&i(){color}は[[Colors APIの色定数>API/Redstone & Colors#id_3d3f6f8b]]。
colors.white、colors.black 以外の色は Advanced Computer、Advanced Monitor専用。
複数のビットが1の場合は最上位ビットの色になる。&i(){color}の値が正しくない場合はエラーとなり色は変わらないが、文字色がデフォルト(白)に戻る。

復元してよろしいですか?