Nasal是FlightGear内建的脚本语言。 它最初是由安迪·罗斯(Andy Ross)为个人项目编写和开发的,于2003年11月被集成到FlightGear中,并且从那时起一直在不断地开发,改进和完善。 随着时间的流逝,它可能已成为FlightGear的最强大功能,并已用于创建各种各样的系统,从野火到控制显示单元。
在FlightGear中,Nasal支持读取和写入内部属性,通过扩展功能访问内部数据,创建GUI对话框等等。注意到Nasal是一种与JavaScript语法类似的脚本语言,但是它能够与FlightGear之间进行双向交互,实现非常强大的功能,这主要是通过CppBind实现的。
创建可点击的面板
FlightGear中创建可点击的面板有两种方法:
- 热点区域:在某个位置创建可点击表面
- 拾取:使一整个对象可以被点击
可点击面板的测试
使用“Ctrl+C”可显示所有可点击的面板对象。
属性浏览器
属性树是FlightGear的神经系统,连接着FlightGear的各个子系统,是各个子系统之间交互的桥梁。因此,需要属性浏览器窗口查看各个属性的变化。打开属性浏览器的方式有两种:
- 通过按键 Ctrl+/ 打开属性浏览器
- 通过主菜单 Debug > Browse Internal Properties 打开属性浏览器
详细模式
在属性浏览器窗口中,通过按键 Ctrl+. 可用来切换属性浏览器的详细模式(Verbose mode)。在详细模式下,可获得属性的额外信息,例如属性的类型、属性上侦听器的数量等。
参考链接
- Nasal scripting language,by flightgear.
- Nasal library,by flightgear.
- Bindings,by flightgear.
- Category:Howto,by flightgear.
- Howto:Animate models,by flightgear.
- Howto:Make a clickable panel,by flightgear.
- Howto:Creating 3D instruments,by flightgear.
- Property tree,by flightgear.
- PropertyList XML files,by flightgear.
- Property browser,by flightgear.
- Effect Framework,by flightgear.
- Canvas EFIS Framework,by flightgear.
- Nasal/CppBind,by flightgear.
- Howto:Extend Nasal,by flightgear.
- Canvas ND Framework,by flightgear.