跳转到内容

Celestia/Celx 脚本/CELX Lua 方法/CEL 命令 singleview

来自维基教科书,开放的书籍,开放的世界

singleview

[编辑 | 编辑源代码]

singleview {}

将多视图中的实际活动视图设置为唯一视图。


注意

  1. 仅当至少有一个多视图存在时,使用此命令才有意义。此命令对单视图无效。


CELX 等效项

基于 observer:singleview() 方法。

  • 获取多视图中活动视图实例的观察者实例,并将其设置为唯一视图。
obs = celestia:getobserver()
obs:singleview()

-- 或 --

  • 获取所有视图的观察者实例,并将标识符为 <viewnumber> 的视图设置为唯一视图。
observers = celestia:getobservers()
observers[<viewnumber>]:singleview()


示例
创建一个包含 4 个视图的多视图,并将每个视图导航到不同的行星。五秒钟后,将视图 4 设置为唯一视图。

CEL

splitview { view 1 type "V" position 0.5 }
splitview { view 1 type "H" position 0.5 }
splitview { view 2 type "H" position 0.5 }
setactiveview { view 1}
select { object "Mercury" }
goto   { time 2.0 distance 15 }
setactiveview { view 2}
select { object "Venus" }
goto   { time 2.0 distance 15 }
setactiveview { view 3}
select { object "Mars" }
goto   { time 2.0 distance 15 }
setactiveview { view 4}
select { object "Jupiter" }
goto   { time 2.0 distance 15 }
wait { duration 5.0 }
singleview { view 4 }

CELX

obs = celestia:getobserver()
obs:splitview("V", 0.5)
observers = celestia:getobservers()
observers[1]:splitview("H", 0.5)
observers[2]:splitview("H", 0.5)
observers = celestia:getobservers()
observers[1]:makeactiveview()
mercury = celestia:find("Sol/Mercury")
celestia:select(mercury)
observers[1]:gotodistance(mercury, 15*mercury:radius())
observers[2]:makeactiveview()
venus = celestia:find("Sol/Venus")
celestia:select(venus)
observers[2]:gotodistance(venus, 15*venus:radius())
observers[3]:makeactiveview()
mars = celestia:find("Sol/Mars")
celestia:select(mars)
observers[3]:gotodistance(mars, 15*mars:radius())
jupiter = celestia:find("Sol/Jupiter")
celestia:select(jupiter)
observers[4]:makeactiveview()
observers[4]:gotodistance(jupiter, 15*jupiter:radius())
wait(5.0)
observers[4]:singleview()


返回 CEL 命令索引

华夏公益教科书