fsx采用快捷键

fsx快捷键,不区分大小写,转载于网络,部分修改

控制油门:

F1        收油门为0%
F2        缓慢收油门   {F1后,长按反推}
F3        缓慢推油门   {起飞时可加大油门}
F4        推油门为100%
Shift+R 自动油门(先打开自动驾驶Z,自动油门后,无法控制油门)

控制襟翼:

F5        襟翼全收  {飞机起飞离地后应收起}
F6        襟翼收一档
F7        襟翼放一档
F8        襟翼全放  {飞机起飞和降落前应打开,一般飞机速度较慢(145~165左右,不同机型各不相同)时都应打开,}

控制视角:

F9        3D驾驶舱视角          {按住Shift键不放,再按数字键1~9(非数字区)可在几种视角切换』
F10      驾驶舱面板视角
F11      机外视角
F12      卫星视角
+          放大
–           缩小
A、S    循环切换视角
CTRL+空格  还原视角
小键盘8 2 4 6 F11后,不接摇杆分别,左右上下移动摄像机
按住Space空格移动鼠标 移动视角摄像机

飞机相关:

.               松开飞机刹车
CTRL+.    飞机手刹,是飞机在地面时停下
G             收放起落架       飞机起飞离地后应把起落架收起,同样,飞机准备降落前应放出起落架
/               收放减速板       飞机降落后可额】为飞机减速,一般在飞机飞行时较少会使用,多少在降落后使用
Shift+/    减速板预位开关(落地时自动开)
Z              开关自动驾驶
L              开灯
B              修正海压
CTRL+E   启动引擎

模拟器相关:

P                    暂停(一定要学会用这个)
;                      保存
~                    空管ATC面板      位于数字键(非数字区)1的左边
V                    截图,图片保存在我的文档/图片里。
SHIFT+P        呼叫推车进行后推。后推时按1或2控制推车的左右。
CTRL+J          接廊桥,只有在默认机场,有廊桥且停好的时候才能接。
Q                    静音
ALT+ENTER  切换全屏/窗口模式
ESC                退出

FSX 737-800 ILS降落

FSX-ILS

flightgear vs2013

本文描述flightgear vs2013编译调试可运行。以前也写过fg3.4的编译,如果想去看的请参考http://www.freeyun.com/flightgear-3-2-0-generation-debug.html

最早的fg2.6的编译已删除,因存在一定的误导性。适用3.4以上面的版本,注意看osg要求的版本。

必备软件

下载安装解压cmake、osg、3rdParty:http://pan.baidu.com/s/1qW9WOES

如果想自己编译osg的参考osg编译

新建环境变量OSG_DIR  D:Program Files (x86)OpenSceneGraph

flightgear simgear 开发的版本:http://sourceforge.net/p/flightgear/_list/git?source=navbar

flightgear simgear 稳定的版本:http://www.flightgear.org/download/source-code/

编译的目录说明

fg-dir

3rdParty:第三方库

flightgear-build:FG的生成vs2013目录

simgear-build:SG的生成vs2013目录

simgear及flightgear:源代码目录

bin:里面放了3rdParty的bin,和osg的bin目录,同时也需要指定fgfs.exe,比如我指定的vs2013的工作目录D:FlightGear-devbin。还有一种方法就是吧3rdParty和osg两者bin都添加到环境变量Path。

data:顾名思义就是fg的资源目录,你可以下载我提供的,那个是当前最新仓,当然你sim和fg也得是最新仓的,解压出来后,可以直接在我上面更新,省下很多时间,如你用了指定版本的,可以用安装版的data。

terrasync-dir:这个目录是空的,用于存放联网下载更新机场地景等等目录。

关于其他目录,不在这个范围之内就不解释。

Cmake简单三步

点击configure->选择编译器->点击Generate

编译simgear

修改simgearsimgearprops下面的PropertyInterpolationMgr.cxx函数

void PropertyInterpolationMgr::update(double dt)

,这个是一个bug,操作容器出错,

void PropertyInterpolationMgr::update(double dt)
  {
    if( _rt_prop )
      dt = _rt_prop->getDoubleValue();

	for (InterpolatorList::iterator it = _interpolators.begin();
		it != _interpolators.end();
		)
	{
		for (double unused_time = dt;;)
		{
			PropertyInterpolatorRef interp = it->second;
			unused_time = interp->update(*it->first, unused_time);

			if (unused_time <= 0.0)
				// No time left for next animation
			{
				++it;
				break;
			}
			if (interp->_next)
			{
				// Step to next animation. Note that we do not invalidate or delete
				// the current interpolator to allow for looped animations.
				it->second = interp->_next;
				++it;
			}
			else
			{
				// No more animations so just remove it
				it = _interpolators.erase(it);
				break;
			}
		}
	}
}

source code:D:/FlightGear-dev/simgear

the binaries:D:/FlightGear-dev/simgear-build

CMAKE_INSTALL_PRE:d:/Program Files (x86)/SimGear

打开sln文件, 编译INSTALL项目

新建环境变量SIMGEAR_DIR d:/Program Files (x86)/SimGear

编译flightgear

source code:D:/FlightGear-dev/flightgear

the binaries:D:/FlightGear-dev/flightgear-build

运行调试

设置fgfs启动项目并添加调试参数(选择fgfs->右键属性->调试->命令参数)

--fg-root="D:FlightGear-devdata" --geometry=800x600 --terrasync-dir="D:FlightGear-devterrasync-dir" --disable-ai-traffic --multiplay=out,10,127.0.0.1,5000 --multiplay=in,10,127.0.0.1,5001 --enable-terrasync  --log-level=debug

指定了data资源目录(如果按照目录结构也可以省掉fg-root参数) 分辨率 地景更新目录,关闭AI,联网的操作,然后你看你的网速了,会联网更新地景,进入到飞机画面,如果你想启动其他飞机,你也需要

--fg-aircraft=“飞机的目录名字(D:FlightGear-devdataAircraft)”比如 --aircraft="c172p"。

关于更多的参数请看手册。

最新飞机下载:https://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/

图flightgear vs2013运行后

flightgear vs2013 737-100

 

总结

如果你发现出现问题了,请重复查看是否漏了那些步骤。

本文写的在后面,flightgear也一直在更新,更多的信息推荐去看wiki.flightgear.org,如果你对最新版本的感兴趣也去下载git仓,sf.net上,由于之前的git仓也已移到sf.net上面。如果你只需要制作飞机地景,就不需要编译FG,因为它有提供专门的工具制作,直接运行FG起来看效果,前提是你要知道怎么使用。作为开源的项目可能代码写的不好,可以去修改它。用的是3.7的版本号,已经有QT 5.0在里面。用来代替fgrun的那个图形启动界面。

 

flightgear联飞服务器fgms构建

本文描述关于flightgewar的联飞服务器fgms的vs2013构建及简要的分析下。

必备

fgms项目:https://gitlab.com/fgms/fgms-0-x

多线程库pthread win32:ftp://mirrors.kernel.org/sourceware/pthreads-win32/pthreads-w32-2-9-1-release.zip

fgms的配置文件http://flightgear.mxchange.org/fgms/fgms.conf

生成工程方案

打开cmake,fgms的目录下分别填入

source code:E:/fgms-0-x-master

build the binaries:E:/fgms-0-x-master/build

configure->选择vs2013->Finish。

设置pthread的路径

E:fgms-0-x-masterpthreadsPre-built.2include

E:/fgms-0-x-master/pthreads/Pre-built.2/lib/x86/pthreadVC2.lib

Generate生成解决方案->编译生成exe,拷贝pthreadVC2.dll到E:fgms-0-x-masterbuildDebug目录下。

复制文件fgms.conf到C:Usersfreeyun(备注这个是我的用户文件夹,紧供参考。)

fgms.conf这个我还域名深入去研究过它的参数,参数说明http://fgms.freeflightsim.org/fgms_conf.html。

源码简要分析

全部联机玩家的列表:m_PlayerList

//发送数据
int netSocket::sendto ( const void * buffer, int size,
                        int flags, const netAddress* to )
//接收数据
int netSocket::recvfrom ( void * buffer, int size,
                          int flags, netAddress* from )

写在后面

本来是想研究网络游戏的位置同步,不停的查找开源的项目,想起flightgear的项目,发现支持cmake生成。笔者只是初略的看源码,没深入,希望能给flighgear的研究的抛砖引玉,这里没写出联机设置,手册已经有了没必要在这里重复。

联机设置:http://wiki.flightgear.org/Howto:Multiplayer

更多的参考资料:http://fgms.freeflightsim.org/。

osg3.2.1编译

openscenegraph3.2.1目前最新版 在windows7编译,支持vs2010 2012 VisualStudio 2013 RTM等

准备

最新openscenegraph稳定版源码http://www.openscenegraph.org/index.php/download-section/stable-releases

依赖库,选择相应的VisualStudio 版本:http://www.openscenegraph.org/index.php/download-section/dependencies

osg的data给例子资源OpenSceneGraph-Data-3.0.0:http://www.openscenegraph.org/index.php/download-section/data

赖人就下载已osg编译好的二进制文件:http://openscenegraph.alphapixel.com/osg/downloads/free-openscenegraph-binary-downloads

目录结构说明

OpenSceneGraph-3.2.1

  • 3rdParty:依赖库目录,注意对应vs版本,vs2013的可以下载我这的http://pan.baidu.com/s/1qW9WOES
  • build:cmake指定目录,生成sln文件
  • OpenSceneGraph:osg源码目录,这个目录下有CMakeLists.txt文件,给cmake用的

cmake生成VisualStudio工程文件

  1. 打开cmake
  2.   看cmake 的gui 分别填入
    1. source code: E:OpenSceneGraph-3.2.1 ,
    2. build the binaries:E:OpenSceneGraph-3.2.1build
  3. 点击configure,现在你要生成对应VisualStudio版本,然后点击Generate(如果你要例子需要把BUILD_OSG_EXAMPLES打勾)。
  4. build目录打开sln编译install,在C:Program Files (x86)目录看到相应osg库

运行例子

添加C:Program Files (x86)OpenSceneGraphbin到环境变量PATH。

新建环境变量OSG_FILE_PATH:E:OpenSceneGraph-Data-3.0.0;E:OpenSceneGraph-Data-3.0.0Images。

想看全屏的牛cmd运行命令:osgviewerd.exe E:OpenSceneGraph-Data-3.0.0cow.osg

四个版本说明

Debug:调试版

Release:发布版

MinSizeRel:最小发布版

RelWithDebInfo:可以调试的发布版

 

FlightGear 3.2.0工程生成及调试

概述

使用vs2010 编译flightgear3.2,及调试

工具/原料:

vs2010 cmake flightgear3.2 simgear3.2 osg3.2.0 boost 3rdParty

下载

百度云下载地址:

http://pan.baidu.com/s/1dDw6i69

ftp://ftp.de.flightgear.org/pub/fgfs/Shared/(data3.2下面提到)

解压到D盘根目录

flightgear工程生成编译并调试

  • cmake打开D:FlightGear3.2flightgearCMakeLists.txt生成工程,然后点击Generate  参考图1
  • 打开D:FlightGear3.2bulid-fgFlightGear.sln
  • vs2010设置fgfs为启动项目
  • 设置fgfs输出路径D:FlightGear3.2bin 参考图2
  • 命令参数–fg-root=”D:FlightGear3.2data3.2″ –log-level=bulk参考图3

图1

图2

图3

遗留问题

一直在载入场景无法正常进入飞机界面,无法解决 这里有讨论:

http://forum.flightgear.org/viewtopic.php?f=17&t=24368

Release的版本有问题的,因为提供的osg Release的库没有链接入freetype

总结

调试还可以加的命令参数

–disable-random-objects   –disable-ai-models   –disable-ai-traffic   –disable-real-weather-fetch   –disable-terrasync

参考资料

http://flightgear.simpits.org:8080/view/Win/ 这里是官方的编译的