首页 > 其他分享 >分享TE中动态对象创建示例

分享TE中动态对象创建示例

时间:2022-09-27 23:39:59浏览次数:53  
标签:TE 示例 创建 模型 样例 onframe Position model 分享

     一般在系统的开发中,TE创建动态对象是用Creator下的CreateDynamicObject,这个方式是sdk封装好的,但是在拐弯方面的调整需要一定的技巧。

     TE的样例中,还提供了另一种方式的动态对象创建,并且有示例的JavaScript脚本代码,这个动态对象的创建思路是通过创建一个模型,根据时间的变化,动态的更改模型的位置,位置的变化在onframe中,变化频率是很高的,显示出来的效果也比较连贯。

     样例JavaScript代码比较简单,如下所示:

//创建一个默认位置

var pos = _sgworld.Creator.CreatePosition(-122.38050, // x

37.62331, // y

40.0, // height

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,示例,创建,模型,样例,onframe,Position,model,分享
From: https://blog.51cto.com/speciallist/5717759

相关文章

  • TE矢量图层的样式复制
       在制作fly的过程中,需要设置矢量图层的样式,相对应的矢量图层的类型还是比较多的,每种类型中所需要设置的属性也是比较多。基本类型是主要分成3类,点图层、线图层和面图......
  • TE二次开发键盘控制键修改
        用键盘可以实现在TE中进行前进、后退等一些操作,这些键是在TE中默认定义好的,在二次开发中,可以实现对这些键进行更换。    默认的键盘操作键列表(帮助文档): ......
  • 分享地球上的常用计算公式
    网址为:http://www.movable-type.co.uk/scripts/latlong.html根据经纬度做的一些常用计算,并有JavaScript的示例代码。英文的介绍网址,请耐心观看。haversine公式,根据两个点的......
  • TE中的一种矢量图层加载方式
        在TE中加载的矢量图层,数据量过大的情况下,流方式数据显示的速度会比较慢,使用层方式加载,系统的资源占的比较多。    这里介绍一种矢量图层的加载方式,这种......
  • TE的标签外框图片如何制作
        在TE中的TextLabel标签中,有一个属性是FrameFile图片的选择,选择完成后,标签上就会带上一层外框,TE的程序路径里有几张这样的图片示例,那要做一个自定义的外框如何做......
  • 分享开源三维模型查看器
        open3DModelViewer(https://github.com/acgessler/open3mod)是一款开源的三维模型查看器,支持多达40种三维模型格式,是基于开源的openassetimportlibrary(assim......
  • TE二次开发批量加载发布3dml模型
        在TE的二次开发过程中,把3dml模型用sfs或者sgs发布完成后,如何获取到sfs或者sgs上发布的模型列表,使用一定的规则对模型进行加载,灵活的控制模型图层。   下边......
  • ServiceStack跨平台服务(分享)
       分享目前使用的最舒服的.net服务开发类库,开发简单,速度也相当快,而且还可以进行跨平台,集成多种数据库的访问。   以下官网的英文原文:   如需查找,请互联......
  • 关于TE的缓存清理
        TE二次开发的程序,在网络版应用的情况下,不管是CS和BS程序,在服务器端发布数据,有时发现在服务器端数据更新了的情况下,客户端的数据并没有变过来,不管是地形数据,还是......
  • TE对象message js脚本简单写法
        TE里的对象和图层都支持添加message,其中message类型中有一类为Script,在弹出的框里可以写JavaScript脚本,下图就是切换到脚本信息下: 写一个了简单的脚本示例:<scrip......