Skip to content

进度条

进度条本身就是个事件,其基础逻辑和 事件 相同,由于进度条需要用户进行交互,所以增加下列函数。

点击

点击进度条时运行的函数。

运行函数 run

一般情况下,事件点击时会触发 run 函数,从而进入 目标场景, 进度条需要处理点击事件,所以单独设置了 click 函数,

仅当挂载了 run 且进度条 progress 为1时,触发运行函数。

js
export default {
    ...其他参数(不用管),
    /**
     * 点击事件
     *
     * @function click
     * @param {object} save  存档 - 故事存档
     * @param {object} story  故事 - 故事对象,可进行提示,弹窗等对故事进行修改操作
     * @param {object} loader 加载器 - 事件加载器的 Vue 节点
     * @return {Promise<void>}
     */
    async click(save, story, loader) {
        console.log('存档:\n', save)
        console.log('故事:\n', story)

        // 点击时进度条进度 +10%
        this.progress += 0.1
    }
}

流逝速度 leakSpeed

即进度条主体视频的播放速率

行为数值
常速播放1000
不播放0
常速倒放-1000

注意:当本值为负时,模拟进度条自动减少的效果,受限于浏览器无法倒放视频,进度条视频需要上传倒放的版本。

按下

鼠标,触摸,手柄按下时触发的函数, 由于浏览器无力处理高频视频重定位, 此功能被简化为在持续按下时将以 100ms 的频率触发。

js
export default {
    ...其他参数(不用管),
    /**
     * 按下事件
     *
     * @function press
     * @param {object} save  存档 - 故事存档
     * @param {object} story  故事 - 故事对象,可进行提示,弹窗等对故事进行修改操作
     * @param {object} loader 加载器 - 事件加载器的 Vue 节点
     * @return {Promise<void>}
     */
    async press(save, story, loader) {
        console.log('存档:\n', save)
        console.log('故事:\n', story)

        // 点击时进度条进度 +10%
        this.progress += 0.1
    }
}

抬起

按下结束时循行的函数。

js
export default {
    ...其他参数(不用管),
    /**
     * 抬起事件
     *
     * @function pressend
     * @param {object} save  存档 - 故事存档
     * @param {object} story  故事 - 故事对象,可进行提示,弹窗等对故事进行修改操作
     * @param {object} loader 加载器 - 事件加载器的 Vue 节点
     * @return {Promise<void>}
     */
    async pressend(save, story, loader) {
        console.log('存档:\n', save)
        console.log('故事:\n', story)

        // 进度小于1时给用户加油
        if (this.pregress < 1)
            story.message = `加油~`

        // 您可在这里修改存档或做一些其他的事
    }
}