SView Help Center
English (US)

动画监听

Author: sviewngts Last Updated: 2026-09-08 16:26

动画播放监听

let aniTaskListener;
//初始化之后调用该方法去添加动画监听即可
function addAnimationListener(){
   if (!aniTaskListener) {
       aniTaskListener = new SView.Animation.AnimationTaskLinstener();
       //进度条监听
       aniTaskListener.updatePercent = function () {
           //整体动画进度
           let entiretyPercent = viewer.getAnimationPlayer().getPercent();   
           //当前步骤动画进度
           let percent = viewer.getAnimationPlayer().getTaskPercent();   
       };
       aniTaskListener.updateState = function (task, state) {
           //更新播放状态
       };
       aniTaskListener.updateActive = function (task) {
           //更新活动的步骤
       }
       viewer.getAnimationPlayer().addTaskListener(aniTaskListener);
   }
}

动画命令监听

    动画命令监听使用的是SView消息机制,在update方法中添加如下case

case SView.Commands.CommandNames.PLAYANIMATIONCOMMAND:
    //动画播放命令消息
    if(msg.state === SView.Commands.PlayAnimationCommand.LoadAnimationDataError) {
        //动画数据加载错误
    } else if(msg.state === SView.CommandMessageState.ExitView) {
        //动画退出
    }
    break;