您好,登錄后才能下訂單哦!
小編給大家分享一下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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。