右键tilt回正改为flyTo渐变动画
This commit is contained in:
@@ -371,6 +371,7 @@ export class CesiumGlobe {
|
|||||||
this._rightRestore = null;
|
this._rightRestore = null;
|
||||||
|
|
||||||
handler.setInputAction(() => {
|
handler.setInputAction(() => {
|
||||||
|
camera.cancelFlight(); // 取消可能仍在进行的回正动画
|
||||||
this._rightRestore = {
|
this._rightRestore = {
|
||||||
position: Cesium.Cartesian3.clone(camera.position),
|
position: Cesium.Cartesian3.clone(camera.position),
|
||||||
direction: Cesium.Cartesian3.clone(camera.direction),
|
direction: Cesium.Cartesian3.clone(camera.direction),
|
||||||
@@ -384,9 +385,11 @@ export class CesiumGlobe {
|
|||||||
this._rightRestore = null;
|
this._rightRestore = null;
|
||||||
const tiltState = scene.screenSpaceCameraController._lastInertiaTiltMovement;
|
const tiltState = scene.screenSpaceCameraController._lastInertiaTiltMovement;
|
||||||
if (tiltState) tiltState.inertiaEnabled = false;
|
if (tiltState) tiltState.inertiaEnabled = false;
|
||||||
camera.setView({
|
// 回正改用 flyTo 渐变,而不是瞬间 setView
|
||||||
|
camera.flyTo({
|
||||||
destination: s.position,
|
destination: s.position,
|
||||||
orientation: { direction: s.direction, up: s.up },
|
orientation: { direction: s.direction, up: s.up },
|
||||||
|
duration: 0.5,
|
||||||
});
|
});
|
||||||
}, Cesium.ScreenSpaceEventType.RIGHT_UP);
|
}, Cesium.ScreenSpaceEventType.RIGHT_UP);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user