Celestia/Celx 指令碼/CELX Lua 方法/CEL 命令 track
外觀
track { }
追蹤當前選定的物件,使其保持在顯示的中心。 必須先使用select命令,選擇一個要追蹤的物件。
該命令沒有引數。
注意:如果要使相機保持與物件的固定距離,請在track命令後新增follow命令。
注意:如果當前選定的物件啟用了track,從 Celestia 1.3.1 版本開始,您可以選擇一個空物件“”,然後使用track命令取消對當前選定物件的追蹤。
CELX 等效 start 追蹤
開始追蹤物件,基於 observer:track() 方法。
- 找到要追蹤的名稱為 <string> 的目標物件,並存儲在“objectname”中。
objectname = celestia:find( <string> )
- 獲取活動檢視的觀察者例項,並將追蹤設定在“objectname”上(即始終保持“objectname”居中)。
obs = celestia:getobserver() obs:track(objectname)
總結
objectname = celestia:find( <string> ) obs = celestia:getobserver() obs:track(objectname)
CELX 等效 stop 追蹤
停止追蹤物件,基於 observer:track() 方法。
- 獲取活動檢視的觀察者例項,並將追蹤設定為一個空物件。
obs = celestia:getobserver() obs:track(nil)
示例
釋放對任何當前選定物件的控制(cancel),選擇地球(select),goto 地球,然後track。 地球將開始以它在太空中實際執行的速度遠離你,但 Celestia 會track地球,使其保持在顯示的中心。 以下程式碼示例展示了這一點,時間加快了 1000 倍。
CEL
cancel { }
select { object "Sol/Earth" }
goto { time 3 distance 7 upframe "universal" }
wait { duration 5 }
track { }
timerate { rate 1000 }
CELX 使用 observer:track() 方法
obs = celestia:getobserver()
obs:cancelgoto()
obs:track(nil)
obs:setframe(celestia:newframe("universal"))
earth = celestia:find("Sol/Earth")
celestia:select(earth)
-- The following 2 methods are obsolete, because of methods above
-- frame = celestia:newframe("universal", earth)
-- obs:setframe(frame)
radius = earth:radius()
distance = 7 * radius
obs:gotodistance(earth, distance, 3 )
wait (5)
obs:track(earth)
celestia:settimescale(1000)