トップページ > .CELXスクリプトガイド > その他

その他


celestia:requestkeyboard


celestia:requestkeyboard(boolean:enable) 1.3.2
スクリプト内で定義するキーボード操作の可・不可の制御を行います。
enable: キーボード操作の可・不可を与えます。
例:
--

celestia:requestsystemaccess()


celestia:requestsystemaccess()(boolean:enable)1.3.2
ファイルを書き出したり外部プログラムを実行したりするようなLuaのio・osライブラリにアクセスする権限を要求します。詳しくはLuaドキュメントを参照してください。
celestia.cfgファイル内のScriptSystemAccessPolicy項が"ask"になっている場合(デフォルト)では、これらのアクセスを許可するかどうかのメッセージが表示されます。
io・osライブラリをスクリプト内で使用したい場合は、スクリプトの初めにwaitコマンドを併用して次の様に書いてください:
celestia:requestsystemaccess()
wait(0)
要求が成功すれば、io・osライブラリが使用できるようになります。
※ requestsystemaccessコマンドを呼び出した後はスクリプトによるキーボード操作の受付が無効になっています。必要あらばcelestia:requestkeyboard(true)として再び有効にしてください。この仕様は将来的には変更されるかもしれません。
例:
--

celestia:getscriptpath


string celestia:getscriptpath() 1.3.2
現在実行しているスクリプトのパスを取得します。
例:
--

celestia:takescreenshot


boolean celestia:takescreenshot(string:filetype, string:name) 1.3.2
スクリーンショットを保存します。表示中のウィンドウサイズ(メニューバー・枠線含まず)で保存されます。
ファイルの保存先はcelestia.cfgの"ScriptScreenshotDirectory"項で指定します。デフォルトはCelestiaの実行ファイル(アプリケーションファイル)のあるディレクトリ(C:\Program Files\Celestia など)です。使用しているシステムによっては書き込みが禁止されているかもしれません。
既存のファイルを上書きしてしまう事を防ぐ為に、ファイル名は"screenshot-000001.png"あるいは"screenshot-name-000001.png"のような形式となります。番号はCelestiaを起動てから撮影された順で、1から始まります。nameの部分は引数によって指定されます。なおこの部分で使用できるのはは英数字と_(アンダースコア)からなる8文字以下の文字列に限定されます。
※ スクリーンショットの保存には若干時間がかかる場合があります。その場合でもflash、print、goto、centerなどのコマンドは待たずに実行されます。この仕様は将来変わるかもしれませんが、現在のところ不満は出ていないようです。
filetype: ファイルの保存形式を指定します。"png"か"jpg"が指定できます。デフォルトは"png"です。
name: ファイル名です。
例:
--

celestia:createcelscript


celscript celestia:createcelscript(string:CELSource) 1.3.2
.CELスクリプトのソースコードよりcelscriptオブジェクトを生成します。.CELスクリプト内に間違いがある場合、エラーとなります。
tick()を使用し、falseが返されるまで(すなわち、.CELスクリプトが終了するまで)次のコマンドの実行を待つ必要があります。
※ Luaでは長い文字列を扱う時に二重の大括弧[[ .. ]] が使えます。これにより.CELスクリプトをファイルからそのままコピー&ペーストして.CELXスクリプト内で使用できます。
例:
-- celscriptオブジェクトを生成します。
-- 引数に.CELスクリプトを記述します。[[ ... ]]が使えます。
-- 緑字は.CELスクリプトです。以下の様に記述する事により.celファイルからそのままコピー&ペーストできます。
celscript = celestia:createcelscript( [[
	{
		preloadtex { object "Sol/Earth" }
		preloadtex { object "Sol/Earth/Moon" }
		
		select {object "Sol"}
		goto   {time 3.0 distance 30}
		wait   {duration 3.0}

		select {object "Sol/Earth"}
		follow {}
		goto   {time 3.0  distance 6.0}
		wait   {duration 2.0}
  
		set { name "MinOrbitSize" value 80 }

		print  {text "Welcome to Celestia!"  row -3  column 1  duration 3}
		wait   {duration 3.0}
	}
]] ) 
-- .CELスクリプトを実行している間(celscript:tick()がtrueの間)は以降のコマンドの実行を待つ
while celscript:tick() do 
	wait(0) 
end 

celestia:seturl


celestia:seturl(string:celURL [, observer:obs])
1.6.1
任意のobserverオブジエクトにて設定したcel://URLに移動します。
celURL: cel://URL。
observer: 移動させるobserverオブジェクト。設定しない場合は現在の視点となります。
例:
--

celestia:geturl


string celestia:geturl([observer:obs])
1.6.1
現在の位置、方向、レンダリング、視野の情報をcel://URLで取得します。
obs: cel://URLを取得するobserverオブジェクト。設定しない場合は現在の視点となります。
例:
--

トップページ > .CELXスクリプトガイド > 時間