博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebGL之飞行管理
阅读量:4165 次
发布时间:2019-05-26

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

LGL

前言:现在webgl实现飞行,是先加载一个fpf文件,读取fpf飞行站点的值。默认加载的飞行路线的速度或者飞行到站点的事件有时并不能满足需求,因此本篇介绍如何更改飞行路线的设置

一、加载飞行路线

FlyManager——飞行管理类,从fpf路线读取路线和站点参数,控制飞行的开始、暂停、停止以及站点事件等。

var routes = new Cesium.RouteCollection(viewer.entities);            //添加fpf飞行文件,fpf由SuperMap iDesktop生成            var fpfUrl = './SampleData/fpf/niaocao.fpf';            routes.fromFile(fpfUrl);            //初始化飞行管理            var flyManager = new Cesium.FlyManager({                scene: scene,                routes: routes            });                $('#play').click(function () {                    flyManager && flyManager.play();                });                $('#pause').click(function () {                    flyManager && flyManager.pause();                });                $('#stop').click(function () {                    flyManager && flyManager.stop();                });

二、飞行路线管理

Route——飞行路线对象类。管理整条路线显隐,飞行速度等

在这里插入图片描述
更改飞行路线的设置可以按以下代码

var currentRoute = flyManager.currentRoute;//获取飞行路线currentRoute.isLineVisible = true;currentRoute.isStopVisible = true;currentRoute.speed  = 50;currentRoute.totalDuration = 50;

三、飞行站点管理

RouteStop——飞行站点对象类。飞行路线由多个飞行站点构成。站点事件,参数的管理

在这里插入图片描述

(一)更改飞行站点
代码参考如下

flyManager.readyPromise.then(function () {	var allStops = flyManager.getAllRouteStops();	 for (var i = 0, j = allStops.length; i < j; i++) {		 allStops[i].waitTime= 3s	 }})

(二)飞行到站点执行自定义事件

实际项目中,可能每个飞行站点的播放事件都不一样,则可以使用站点到达事件实现功能

function evt(){....}flyManager.stopArrived.addEventListener(function (routeStop) {	If (routeStop.index == 1){		flyManager.pause()//先让飞行暂停		evt()		flyManager.play()//事件播放完继续飞行	} });

总结

飞行功能在三维场景中应用较为广泛,更改飞行站点的一些参数主要使用以上接口更改,更改参数时,可以先去以上接口查找是否有符合需求的参数。

转载地址:http://tipxi.baihongyu.com/

你可能感兴趣的文章
梦的解析 —— 梦知道答案
查看>>
网页布局基础-浮动整理
查看>>
关于首屏时间采集自动化的解决方案
查看>>
Python对字典(directory)按key和value排序
查看>>
java Future模式的使用
查看>>
Android 相关测试知识
查看>>
st16c554
查看>>
SVN:One or more files are in a conflicted state
查看>>
linux安装git
查看>>
redis学习之一 - linux下安装配置
查看>>
scikit-learn学习日记(2)
查看>>
JS DOM---Chapter 1-4
查看>>
[MySQL]增加用户 授权 远程登录
查看>>
图论中一类问题的总结 :必须边(点) 可行边(点)
查看>>
根据IP定位用户所在城市信息
查看>>
-mysql(1)
查看>>
第十章 还需要编辑
查看>>
【转】XP_cmdshell存储过程
查看>>
WCF分布式事务
查看>>
RabbitMQ框架构建系列(二)——RabbitMQ基础知识介绍
查看>>