循序渐进(8)- 加入中文信息、设置起始视角和热点

更新 2016.6.22

加入中文信息

要顺利地在漫游中显示中文,首先要使用正确的代码编辑器:Sumblime Text 3

如果用记事本编辑xml文件,默认保存的话,中文无法正确编码,会显示乱码。因此你要用上述提及的链接中的软件打开xml和html文件。使用代码编辑器还能让代码结构化。

所有乱码问题 都是由于文件自身的编码格式引起的跟编辑器并没有关系 只不过有些编辑器提供指定字符编码功能 有些编辑器不提供这功能

接下来你可以编辑你刚生成好的vtour文件夹的内容。也可以打开krpano下载包中下面的路径进行练习

krpano-1.18.6\examples\virtual-tours\demotour-corfu

我们用Sumblime Text 3打开tour.html文件了,找到第四行

把title标签内容改成你自己的项目名字或者你想要的文字,title标签是浏览器标题栏中要显示的内容。同时,在手机浏览器上也会显示。因此需要更改为我们自己的内容。例如:

这时候在浏览器中打开tour.html,发现浏览器标题栏也正常了,然后这六个场景的缩略图也在下面导航里。作为第一次接触全景的你,感觉良好,但好像少了些什么。到底每个场景都是什么?我们点击左下角的缩略图图标,会看到有文字提示出现在导航栏的左上角,大概就是“Virtual Tour – 1”之类的让人莫名其妙的英文和数字。

我们中国人还是得用汉字是吧。那么还是用Sumblime Text 3打开tour.xml,直接找到第一行,把那个Virtual Tour改成你想要的中文。

在这里,krpano的title属性是自定义的,你改成属性china也是没问题的,只是要对应地在vtourksin.xml的几处位置也改成china。而像onstart这种系统属性你改名字或者打错了就用不了。另外,在krpano根元素自定义的属性也是全局变量,krpano.title相当于js的window.title。也就是可以直接写title调用。

那么除了第一行有title这个属性以后,在tour.xml文件的六个scene的标签里还有title属性。它们应该就是我们全景图的文件名来为scene的title添加数值的,如a1kt、a2kt之类的。找到这些title,将这些让人不知所云的名字也改成中文名。

这时候刷新浏览器,我们会看到左下角的“Virtual Tour – 1”变成了“我是中国字 – 我也是中文“,不管怎样,这是我们修改之后的结果。

还是那句话title只是一个自定义属性,方便我们记录一些信息的属性而已。

 

设定起始视角和加入热点的方法

  • 双击打开vtour文件夹中的 tour_editor.html
  • 下面是含有按钮的插件启动截图。

图片1

  • 通过皮肤提供的导航功能选择场景,然后通过缩放摇移选择你希望的起始视角,然后点击 set as startup view 按钮保存。每个场景需要点击一次。点完后可以通过下方缩略图跳转到下一个场景,选择好视角后点击按钮,其它场景与之相同。当你点击一下 set as startup view 按钮,那么这一刻的视角就是载入该场景时的初始视角。

图片4

  • 点击 add hotspot 按钮,画面中会出现一个热点,使用鼠标将热点拖到你希望的位置。
  • 完成后点击 done 按钮,出现一个新的窗口,里面是该全景里所有场景的列表,选择对应的场景,再次点击 done 按钮。在不同的场景中按照这个方法添加热点

图片3

  • 如果你要编辑tour.xml文件,点击 edit tour.xml 按钮。
  • 全部改动完成后,点击 save tour.xml 按钮,覆盖原始的tour.xml文件。或者 edit tour.xml 下,全选复制所有代码,然后在代码编辑器中全部覆盖。
  • 我们可以使用这个方法获取所需要热点的ath以及atv坐标。然后使用自定义的热点而不是系统的热点。

自定义热点样式

在krpano插入图像热点通常有两种图形化的官网操作方式,
一是通过editor插件,也就是以前说过的嵌入电视机视频的方式,
另一个就是使用根目录下的tour_editor.html插入系统默认的箭头图形。
我们来说如何修改这个箭头热点的默认样式。
通常我们会得到如上面的箭头图形。这个图片所在的位置在:skin\vtourskin_hotspot.png
因此,最常见的修改就是使用自己的图片,同名替换掉这个skin文件夹里的图片,例如你可以使用一个圆圈。
不过用krpano做事情的话,还是得看看代码,看看整个运作过程是怎样的,我们打开tour.xml,找到对应的scene标签的这段hotspot代码:

其中athatv是三维空间的球体坐标,linkscene是一个自定义属性(也就是不是krpano自己的系统属性,krpano解析时会忽略掉),指定了要链接的场景,style是最关键的,style是一个属性集合的元素,因为如果你的hotspot标签或layer标签里有很多属性是多个hotspot共用的,你就可以用同一个style将这些共有的属性包含进去,所以使用了多个默认箭头,那么它们的hotpspot标签里都有style=”skin_hotspotstyle”,那么这个style里面到底都写了些什么呢?

这个style我们在tour.xml里面找不到,那显然是在vtourskin.xml里面,因为我们在tour.xml里include了vtourskin.xml。当然,我们用查找的方法,直接查看skin_hotspotstyle,找到对应的代码。

可以看到这个style里面还是写了若干有用的属性的,例如onclick事件、scale属性等等,因此,实际上我们完整的hotspot代码,是tour.xml和vtouskin.xml中两段代码的结合:

如果你要对所有热点进行样式的修改,你可以直接到vtourskin里修改style里面的内容。但记得最好不要在hotspot里面改,例如你直接在tour.xml的hotspot标签里直接写onclick属性,这样的话是无效的。因为style元素的属性是最高级的,也就是你在hotspot写怎样的onclick,都会被skin_vtourskin里面的onclick给覆写掉。

当然,如果你要为个别的热点写样式,你可以使用下面两个方法:

第一个,直接把hotspot里面的style和linkedscene两个属性删掉,这样的话,你想怎么写都行了。
第二个,自己写一个style,取一个不一样的name,然后取代style=”skin_hotspotstyle”,例如style=”skin_hotspotstyle_1″。

请继续阅读:循序渐进(9)- vtour文件夹的运作机制

在 “循序渐进(8)- 加入中文信息、设置起始视角和热点” 上有 3 条评论

发表评论