投稿 搜索
当前位置: 站长天下 / 图片相册背景 / Watch3D.js实现360度全景图插件
Watch3D.js实现360度全景图插件
标签:

插件介绍

    本插件是一个简单的360度全景展示插件。通过css3来实现360度全景展示,相比webgl可以更简单的添加元素来完成一些交互,使用更简单。

    浏览器兼容性

    浏览器兼容性
    时间:2018-06-04
    阅读:

Watch3D.js实现360度全景图插件

简要教程

本插件是一个简单的360度全景展示插件。通过css3来实现360度全景展示,相比webgl可以更简单的添加元素来完成一些交互,使用更简单。

调用方法
标准的插件调用方法,支持AMD和CMD接口调用。

var w3d = new watch3D( opts );

参数:

  • wrapper:[String|HTMLNode] (必填) 插件容器, 请不要挂载到"body"节点下面

  • auto:[Boolean] (选填,默认为true) 是否让插件自动完成后续生成,如果填false,则需要初始化后手动调用 “loadResources”函数

  • autoplay:[Boolean] (选填,默认为false) 是否自动播放

  • num:[Number] (必填,默认为18) 图片被分割的区块数量

  • reverse:[Boolean] (选填,默认为true) 是否反向镜头

  • resource:[String|Array] (必填) 需要进行全景处理的整张全景图或用来进行拼接的图片集合,如果值为数组时,请保证数组的长度与num参数值相等。

  • width:[Number] (必填) 全景图片缩放后的总宽度,如:目标图片尺寸为 2500 * 1250,放大一倍后为 5000 * 2500 ,这里width需要填5000,

  • 面的height填2500

  • height:[Number] (必填) 全景图片缩放后的总高度

  • tips:[Object] (选填) 插入到对应区块的tip,用来完成一些处于全景图内部的交互。数据格式如下:

tips: {
    0: {
        //styles,同css的写法一致
        styles: {
            "height": "100px",
            "width": "100px",
            "background-color": "#6cf",
            "text-align": "center",
            "margin-right": "10px",
            "color": "#fff",
            "cursor": "pointer"
        },
        //tip的文本内容
        content: "风景1",
        //点击事件触发时的函数处理
        callback: function(e) {
            w3d.pause();
            w3d.changeData({
                num: 10,
                resource: "sources/4.jpg"
            }, true);
        }
    }
}
  
//tips内部的key值需要是区块的id,一般范围在0~num-1,按顺序对应相应的区块。
  • maxY:[Number] (选填,默认为15) 图片仰俯角最大角度

  • start:[Function] (选填) 触摸事件开始时调用,传入触点坐标

  • move:[Function] (选填) 触摸事件滑动时调用,传入触点坐标

  • end:[Function] (选填) 触摸事件结束时调用,传入触点坐标

  • loadstart:[Function] (选填) 图片资源加载前调用

  • loading:[Function] (选填) 图片资源加载时调用,传入一个资源对象

  • loadend:[Function] (选填) 图片资源加载完成后调用,传入一个资源对象