5

セシウムを使うのは初めてです。フォームに数回投稿した単純で高度でない質問がありますが、誰も回答していません。そこで、ここにしようと思いました。

私がする必要があるのは、別のイベントを呼び出す前にイベントを停止する方法を見つけ出すことだけです。何が起こっているかの例を次に示します。地球はユーザー接続で回転しますが、「フライミーホーム」などをクリックすると停止する必要があります.

以下のコード。

したがって、spinGlobe の引数は spinRate です。初期接続で 0.0 を渡すと、回転しません。完全。そのため、クリック イベント (ユーザー クリックが fly me home ) によって 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);
 });
 }
4

1 に答える 1