トップページ > .CELXスクリプトガイド > observerオブジェクト-画面分割

observerオブジェクト - 画面分割


スクリプトによる制御で画面を分割する事ができます。

observer:splitview


observer:splitview(string:splitdirection[, number:splitpos])
画面を分割します。
splitdirection: 画面を分割する方向です。"h"で上下に、"v"で左右に分割します。
splitpos[オプション]: 分割する割合です。分割元画面と比較して左(上)側になる画面の大きさの割合を指定します。デフォルトは0.5(中央)です。
例:
-- 画面を分割
obs = celestia:getobserver() -- 視点のobserverオブジェクトを取得
obs:splitview("h") -- 上下に等分割
wait(3)
obs:splitview("w", 1/3) -- 左右に1:2の割合で分割

observer:deleteview


observer:deleteview()
参照するobserverオブジェクトに対応する画面を削除します。画面が2つ以上ある場合に限られます。
このコマンドの後に該当するobserverオブジェクトを使用してはいけません。
例:
-- 画面を分割した後、削除
obs = celestia:getobserver() -- 視点のobserverオブジェクトを取得
obs:splitview("h") -- 上下に等分割
wait(1)
obs:splitview("w", 1/3) -- 左右に1:2の割合で分割
obss = celestia:getobservers() -- observerオブジェクトをすべて取得
celestia:flash("Total view count: " .. table.getn(obss))
wait(2)
for i = 1, table.getn(t) do -- observerオブジェクトの数-1回だけ画面を削除
	obss[i]:deleteview()
	wait(1)
end
celestia:flash("Deleted.")

observer:singleview


observer:singleview()
参照するobserverオブジェクトに対応する画面を削除します。画面が2つ以上ある場合に限られます。
このコマンドの後に該当するobserverオブジェクトを使用してはいけません。
例:
-- 画面を分割した後、削除
obs = celestia:getobserver() -- 視点のobserverオブジェクトを取得
obs:splitview("h") -- 上下に等分割
wait(1)
obs:splitview("w", 1/3) -- 左右に1:2の割合で分割
wait(2)
obs:singleview() -- 参照しているobserverオブジェクト以外の画面を削除
celestia:flash("Deleted.")

observer:isvalid


boolean observer:isvalid()
現在の画面に対応するobserverオブジェクトが有効かどうかを取得します。
このコマンドの後に該当するobserverオブジェクトを使用してはいけません。
例:
--

observer:makeactiveview


observer:makeactiveview()
1.6.0
指定したobserverオブジェクトで設定された画面をアクティブにします。
例:
--

トップページ > .CELXスクリプトガイド > observerオブジェクト-画面分割