全景分组插件

来源:互联网 发布:小米盒子可以接mac 编辑:程序博客网 时间:2024/06/02 05:31

全景分组插件

效果预览:

这里写图片描述

效果demo: 点击查看

本次开发的插件的优点在于只需要写少量的代码(只有几行),引入插件文件,就可以实现上图的分组效果。
本次插件开发是基于krpano 1.19 pre10开发。
1.首先在主文件tour.xml中引入插件文件:

<include url="plugins/level2group.xml" />


level2group插件只要有两个方法,cearatemenu() 和 creategroup()。createmenu()为创建一级分组层,creategroup()为创建二级分组层。creategroup()接收三个参数,如cerategroup(0,0,3);第一个参数分组层的索引,和一级菜单顺序对应,注意,分组索引以0开始,依次增加,这与一级菜单是一一对应的。案例中加入三个分组。在scene标签外的空白处加入如下代码:

<menu name="menu_one" >        <group name="menu_01" title="分组1" thumburl="panos/scene_1.tiles/thumb.jpg" />        <group name="menu_02" title="分组2" thumburl="panos/scene_2.tiles/thumb.jpg" />        <group name="menu_03" title="分组3" thumburl="panos/scene_3.tiles/thumb.jpg" />    </menu>

这是一级分组菜单列表,注意,menu的name 必须是menu_one,否则无法正常使用插件。如果需要继续增加分组,对应添加group标签即可,group标签中的thumburl是一级分组的缩略图。
OK,以上就是唯一需要我们自己写入的代码,剩下的就是使用函数ceratemenu()和creategroup()来创建就可以了!是不是很霸气!
接下来就是在startup函数中初始化就可以了。

        create_menu();        creategroup(0,0,3);        creategroup(1,3,13);        creategroup(2,13,15);


完整代码如下:

    <action name="startup" autorun="onstart">        if(startscene === null OR !scene[get(startscene)], copy(startscene,scene[0].name); );        loadscene(get(startscene), null, MERGE);        if(startactions !== null, startactions() );        create_menu();        creategroup(0,0,3);        creategroup(1,3,13);        creategroup(2,13,15);    </action>

解释一下,createmenu()根据menu标签渲染出一级菜单,案例中分了三个组,所以使用了三个creategroup()。creategroup()接收三个参数,第一个参数为二级分组的索引,在上边已经提到过,第二个参数为改分组内起始场景索引,第三个参数为截止场景索引,这里的场景索引与scene的索引一一对应,也就是说索引也是从0开始的。
OK,该添加的代码已经添加完啦!
总结一下,
1.首先在tour.xml中引入插件;
2.构建一级菜单列表;
3.初始化。

优点嘛,显而易见!

移动端扫描二维码观看。

这里写图片描述

原创粉丝点击