Sco*_*son 5 javascript rotation cesium
好的,第一次使用Cesium.我有一个简单的,非高级的问题,我在他们的表单上发布了几次,但没有人回应.所以我想我会在这里试试.
我需要做的就是弄清楚如何在调用另一个事件之前停止一个事件.这是一个正在发生的事情的例子.地球在用户连接上旋转,但如果他们点击"飞回家"等我需要它停止.
代码如下.
所以spinGlobe中的arg是spinRate.如果我在初始连接上传入0.0,它将不会旋转.完善.所以我觉得如果点击事件(用户点击飞回家),则调用spinGlobe(0.0)表示地球将停止旋转.但事实并非如此.我可以不动态更改spinRate吗?或者我这样做是错的?
spinGlobe( 0.5 )
function spinGlobe( dynamicRate )
var previousTime = Date.now();
viewer.clock.onTick.addEventListener(function( clock ) {
var spinRate = dynamicRate;
var currentTime = Date.now();
var delta = ( currentTime - previousTime ) / 1000;
previousTime = currentTime;
viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, -spinRate * delta);
});
}
Run Code Online (Sandbox Code Playgroud)
spinGlobe( dynamicRate ){
var previousTime = Date.now();
this.viewer.scene.postRender.addEventListener(function (scene, time){
var spinRate = dynamicRate;
var currentTime = Date.now();
var delta = ( currentTime - previousTime ) / 1000;
previousTime = currentTime;
this.viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, -spinRate * delta);
});
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1488 次 |
最近记录: |