温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

TE中如何实现动态对象创建

发布时间:2022-01-13 17:23:01 来源:亿速云 阅读:107 作者:小新 栏目:大数据

这篇文章主要为大家展示了“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中如何实现动态对象创建

以上是“TE中如何实现动态对象创建”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

te
AI