Celestia/Celx 脚本/CELX Lua 方法/CEL 命令 follow
外观
follow { }
此命令告诉 Celestia 将坐标系设置为黄道,并跟随当前选定的物体。
此命令没有参数。
CELX 等效-1
基于 observer:setframe() 方法。
- 找到要跟随的名称为 <string> 的目标物体,并存储在“objectname”中。
objectname = celestia:find( <string> )
- 创建一个新的参考系,以“objectname”为参考物体,并以黄道为参考系,并将其存储在“frame”中。
frame = celestia:newframe("ecliptic", objectname)
- 获取活动视图的观察者实例,并将参考系的坐标系设置为“frame”。
obs = celestia:getobserver() obs:setframe(frame)
总结
objectname = celestia:find( <string> ) frame = celestia:newframe("ecliptic", objectname) obs = celestia:getobserver() obs:setframe(frame)
CELX 等效-2
基于 observer:follow() 方法。
- 找到要跟随的名称为 <string> 的目标物体,并存储在“objectname”中。
objectname = celestia:find( <string> )
- 获取活动视图的观察者实例,并在“objectname”上激活跟随模式。
跟随模式与将参考系设置为以“objectname”为参考物体的黄道相同。
obs = celestia:getobserver() obs:follow(objectname)
总结
objectname = celestia:find( <string> ) obs = celestia:getobserver() obs:follow(objectname)
示例
此示例选择火星,将坐标系设置为黄道(跟随),然后飞往火星。
CEL
select { object "Sol/Mars" } follow { } goto { time 2 } wait { duration 2 }
CELX-1 使用 observer:setframe() 方法
mars = celestia:find("Sol/Mars") celestia:select(mars) frame = celestia:newframe("ecliptic", mars) obs = celestia:getobserver() obs:setframe(frame) obs:goto(mars, 2.0) wait(2.0)
CELX-2 使用 observer:follow() 方法
mars = celestia:find("Sol/Mars") celestia:select(mars) obs = celestia:getobserver() obs:follow(mars) obs:goto(mars, 2.0) wait(2.0)