博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Skyline WEB端开发5——添加标签后移动
阅读量:5303 次
发布时间:2019-06-14

本文共 2173 字,大约阅读时间需要 7 分钟。

针对于标签或者模型,在skyline上可以进行移动。可以让一个模型可以像无人机似的飞行,或者描述从一个点到另一个点的飞行轨迹。

话不多说,直接上干货。

第一步 添加标签

参考网址:

第二步 设置属性

function createLable(){  var label = sgworld.Creator.CreateLabel(labelPos, "北京科技有限公司.\r\n西安办事处\r\n", cLabelPath2, cLabelStyle, sgworld.ProjectTree.FindItem("新建组 ##575097"), "grey_bubble");  //在生成lable对象后,需要设置一个属性,即   lable.Attachment.AutoDetach = false;}

对于动态对象,AutoDetach设置为默认值 false。一旦摄像机到达动态对象,它会继续按照对象的移动状态来跟踪对象。但是,如果 AutoDetach 设置为 true,一旦摄像机到达对象时,它将停止。如果客户端不断更新对象的位置(例如,作为一个 GPS 更新),它应设置此值(在创建对象的时候)为 false。这样,如果用户飞往这个对象,它后面的摄像机继续。

可理解为如果设置为false,那么当标签进行移动的时候,摄像机的位置会跟随着移动,当停止到某一点的时候,摄像机停止,标签再次移动的时候,摄像机依然随之移动。

如果设置为true,那么当标签进行移动的时候,摄像机的位置会跟随着移动,当停止到某一点的时候,摄像机停止,标签再次移动的时候,摄像机不再随之移动。

第三步 添加监听

//在每一帧渲染前都会触发该方法sgworld.AttachEvent("OnFrame", OnFrame);
OnFrame事件详解参考

第四步 添加移动方法

1、Lerp

一个坐标以一定比例朝着另一个坐标移动

function OnFrame() {    if(lable != null) {        //默认飞到某一个位置        var Washington = sgworld.Creator.CreatePosition(            116.3912630081,            39.9074812817,            1000,            0,            0.0, // 偏航角            -43.0); // 俯仰角        lable.Position = lable.Position.Lerp(Washington, 1);    }}
Lerp(    Position, //需要新建一个位置坐标,或者从某个地方读取到的位置坐标    Percentage //移动的比例)

2、Move

将标签的坐标移动一段距离

function OnFrame(){  if(lable != null){    lable.Position = lable.Position.Move(100, -90, 45);  }}

 

Move(    Distance,    //移动的距离。    Yaw,       //移动坐标的方向。0=北,90=东,180=南,-90=西,-180=南    Pitch     //移动坐标的俯仰角。0=水平,1~90=向上飞行,-90~-1=向下飞行)

3、MoveToward

移动坐标走向另一个坐标指定的距离

function OnFrame() {    if(lable != null) {        //默认飞到某一个位置        var Washington = sgworld.Creator.CreatePosition(            116.3912630081,            39.9074812817,            1000,            0,            0.0, // 偏航角            -43.0); // 俯仰角        lable.Position = lable.Position.MoveToward(Washington, 1);    }}
MoveToward(    Position,    //一个位置坐标,表示坐标朝着已选定的坐标移动    Distance    //移动的距离)

以上就是关于标签或模型的移动的内容。

下面附上完整代码可参考

            
俯仰角:

View Code

 

转载于:https://www.cnblogs.com/517chen/p/11199311.html

你可能感兴趣的文章
博士生传给硕士生的经验
查看>>
ubuntu 查看软件包中的内容 (已经安装)
查看>>
iperf 一个测试网络吞吐的工具
查看>>
IOR and mdtest - measure parallel file system I/O performance at both the POSIX and MPI-IO level.
查看>>
文件系统测试工具整理
查看>>
好用的性能检测工具 - Glances
查看>>
tcp滑动窗口和读写缓冲区
查看>>
GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造
查看>>
ssh 使用指定网卡 连接特定网络
查看>>
鸿蒙操作系统发布会 分析 记录
查看>>
浅谈python 中正则的一些函数
查看>>
app生命周期之即将关闭
查看>>
MPU6050
查看>>
Asp.Net 加载不同项目程序集
查看>>
Jenkins插件--通知Notification
查看>>
思1-基本三观
查看>>
angularJS--apply() 和digest()方法
查看>>
Alpha 冲刺 (5/10)
查看>>
PHP函数之$_SERVER
查看>>
利用安装光盘创建本地yum源补装 RPM 软件包-通过命令行模式
查看>>