重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“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中如何实现动态对象创建”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!