小编给大家分享一下TE二次开发键盘控制键怎么修改,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
用键盘可以实现在TE中进行前进、后退等一些操作,这些键是在TE中默认定义好的,在二次开发中,可以实现对这些键进行更换。
默认的键盘操作键列表(帮助文档):
A:增加速度直到达到最大的前进速度
<SHIFT>A:双倍加速
Z:降低速度,直到达到最大反向速度
<SHIFT>Z:双倍降速
<SPACE>:停止飞行(速度设置为零)
S:向上移动
<SHIFT>S:快速上升
X:向下移动
<SHIFT> X:快速下降
键盘的上下箭头控制摄像机倾斜
向上箭头键:摄像机或飞行角度向上
向下箭头键:摄像机或飞行角度向下
键盘左、右箭头键控制飞机的方向
左箭头键:飞行摄像机方向向左
右箭头键:飞行摄像机方向向右
Q:向左滑动/缩小
<SHIFT> Q:快速向左滑动/缩小
W:向右滑动/放大
<SHIFT> 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二次开发键盘控制键怎么修改”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。