您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“TE中如何實現動態對象創建”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“TE中如何實現動態對象創建”這篇文章吧。
一般在系統的開發中,TE創建動態對象是用Creator下的CreateDynamicObject,這個方式是sdk封裝好的,但是在拐彎方面的調整需要一定的技巧。
TE的樣例中,還提供了另一種方式的動態對象創建,并且有示例的JavaScript腳本代碼,這個動態對象的創建思路是通過創建一個模型,根據時間的變化,動態的更改模型的位置,位置的變化在onframe中,變化頻率是很高的,顯示出來的效果也比較連貫。
樣例JavaScript代碼比較簡單,如下所示:
//創建一個默認位置
var pos = _sgworld.Creator.CreatePosition(-122.38050, // x
37.62331, // y
40.0, // height
3, // height type
297.0, // yaw
15.0, // pitch
0, // roll
0 // dist
);
//在默認位置上創建一個模型
model = _sgworld.Creator.CreateModel(pos, "D:\\c5.xpc", 1);
model.Attachment.AutoDetach = false;
//飛到模型
_sgworld.Navigate.FlyTo(model);
//在onframe中實現,具體掛接onframe參見api文檔
function sOnFrame() {
//判斷model對象不為空
if(model) {
//根據距離和角度移動模型位置,樣例中是繞圈移動模型
var distToMove = (400 * 1000 / 3600) * (new Date().getTime() - time.getTime()) / 1000;
model.Position = model.Position.Move(distToMove, model.Position.Yaw + 0.1, model.Position.Pitch);
//更新時間
time = new Date();
}
效果圖:
以上是“TE中如何實現動態對象創建”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。