小编给大家分享一下TE二次开发键盘控制键怎么修改,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
专注于为中小企业提供成都网站制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业密云免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
用键盘可以实现在TE中进行前进、后退等一些操作,这些键是在TE中默认定义好的,在二次开发中,可以实现对这些键进行更换。
默认的键盘操作键列表(帮助文档):
A:增加速度直到达到最大的前进速度
Z:降低速度,直到达到最大反向速度
S:向上移动
X:向下移动
键盘的上下箭头控制摄像机倾斜
向上箭头键:摄像机或飞行角度向上
向下箭头键:摄像机或飞行角度向下
键盘左、右箭头键控制飞机的方向
左箭头键:飞行摄像机方向向左
右箭头键:飞行摄像机方向向右
Q:向左滑动/缩小
W:向右滑动/放大
要想实现按自己定义的键进行TE控制,在二次开发中,TE的三维窗口默认有一个事件是:OnKeyboardMessage,在程序中,实现此事件,以CS代码为例,在winform窗口上点击事件的后边,后端代码即可实现事件。
private void axTE3DWindow1_OnKeyboardMessage(object sender, AxTerraExplorerX._ITE3DWindowEvents_OnKeyboardMessageEvent e)
{
e.message = 258;
//这句很关键,设置true,即不实现默认键盘的按键
e.pbHandled = true;
//根据e.keyCode的数值实现自定义移动
switch (e.keyCode)
{
//键盘A的操作,实现向左移动
case 65:
IPosition6 pos = sgworld.Navigate.GetPosition(AltitudeTypeCode.ATC_TERRAIN_RELATIVE);
double x = pos.Altitude * 0.2;
IPosition6 newpos = pos.Move(x, 270 + pos.Yaw, 0);/
newpos.Pitch = pos.Pitch;
newpos.Yaw = pos.Yaw;
sgworld.Navigate.SetPosition(newpos);
break;
//其他的键盘操作...............
}
此方式就可以实现自定义键盘按键的操作,唯一的要求,就是那些上下左右的移动,得用自己的方法来写。
以上是“TE二次开发键盘控制键怎么修改”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!