「API/Term」の編集履歴(バックアップ)一覧はこちら
「API/Term」(2013/07/28 (日) 12:21:51) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
このページでは 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.redirect関数で出力先をモニターへ切り替えた場合は、[[Peripheral API>API/Peripheral]]で呼び出せる[[モニターのメソッド>API/Peripheral#id_ffee119b]]のラッパーAPIとして働く。
**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関数>API/Peripheral#id_65259010]]で取得したモニターのオブジェクト)に切り替える
-戻り値: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}の値が正しくない場合はエラーとなり色は変わらないが、文字色がデフォルト(白)に戻る。
このページでは 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.redirect関数で出力先をモニターへ切り替えた場合は、[[Peripheral API>API/Peripheral]]で呼び出せる[[モニターのメソッド>API/Peripheral#id_ffee119b]]のラッパーAPIとして働く。
**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関数>API/Peripheral#id_65259010]]で取得したモニターのオブジェクト)に切り替える
-戻り値: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( &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}の値が正しくない場合はエラーとなり色は変わらないが、文字色がデフォルト(白)に戻る。