千家信息网

TE二次开发键盘控制键怎么修改

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,小编给大家分享一下TE二次开发键盘控制键怎么修改,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用键盘可以实现在TE中进行前
千家信息网最后更新 2025年02月07日TE二次开发键盘控制键怎么修改

小编给大家分享一下TE二次开发键盘控制键怎么修改,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

用键盘可以实现在TE中进行前进、后退等一些操作,这些键是在TE中默认定义好的,在二次开发中,可以实现对这些键进行更换。

默认的键盘操作键列表(帮助文档):

A:增加速度直到达到最大的前进速度

A:双倍加速

Z:降低速度,直到达到最大反向速度

Z:双倍降速

:停止飞行(速度设置为零)

S:向上移动

S:快速上升

X:向下移动

X:快速下降

键盘的上下箭头控制摄像机倾斜

向上箭头键:摄像机或飞行角度向上

向下箭头键:摄像机或飞行角度向下

键盘左、右箭头键控制飞机的方向

左箭头键:飞行摄像机方向向左

右箭头键:飞行摄像机方向向右

Q:向左滑动/缩小

Q:快速向左滑动/缩小

W:向右滑动/放大

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二次开发键盘控制键怎么修改"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0