循序渐进(13)- 需要时刻注意的krpano中的url路径问题

路径问题是出现较高的关键词之一,这也是很多新手,包括肥宗本人在早期经常忽视的错误。

我们为什么要重视路径问题,因此路径属性url存在于各个krpano元素中,包括layerhotspot以及image等。我们往往因为没有注意路径问题,甚至连路径都忽略了,导致没有出现我们想要的效果。

通常,我们编辑的都是xml文件,这些xml文件可能跟viewer(tour.js和tour.swf)在同一目录,也可能是在下一子目录,例如vtourskin.xml就位于skin文件夹里。

如果我们有一个layer,里面放一张图片,我们直接这么写来着,注意省略号忽略掉其它属性,并不代表其它属性不存在。

我们可以看到里面有一个url属性,后面直接跟一个图片路径。那什么时候这个路径才有效呢,必须是这张图片sea与这个layer本身所处的xml文件在同一层目录。

也就是说,如果我们把这个layer写在tour.xml,那么在同一目录我们应该能同时看到tour.xml与sea.png

如果你说我的sea.png连同其它图片都放在了一个叫pic的下级文件夹。这样你好方便管理。

如果你是从另一个子文件夹,例如skin文件夹中的vtourskin.xml调用与skin文件夹平行的pic文件夹的图片。

../代表返回上一层目录,../../代表返回上两层目录,然后你在继续从该目录进入其它子目录。

如果这样记的话,确实很麻烦,我们希望全部基于我们的根目录。也就是viewer(tour.js和tour.swf)的位置,我们这样写

这样的话,不论你将这个代码写在哪个xml文件里,也不论这个xml文件位于哪一层目录,krpano都能找到对应的对应的图片。也就是说%SWFPATH%对应的就是tour.swf对应的位置。

url 属性

krpano任意xml元素中的url属性以特殊方式进行处理。

当用相对路径作为url数值时,url属性的定义将相对于xml文件。这对于嵌入的xml文件也是相同的道理。这就是说嵌入的xml文件的相对路径是相对于嵌入的xml文件自身,而不是主xml文件。

注意 – 当动态改变url属性时,就不存在自动的相对xml文件的路径。

为了使得路径能够相对某些特别的预定义路径,可以在url路径中使用下面的占位符:
%FIRSTXML% – 第一个载入的xml文件的路径。
%CURRENTXML% – 当前载入的主xml文件路径(非嵌入的文件)。
%SWFPATH% – viewer文件的路径。
%HTMLPATH% -html文件的路径。
%BASEDIR% – 使用basedir的路径。
%$VARIABLE% – 使用指定的“VARIABLE” – 这可以是任意的krpano变量,但必须当前xml或场景完全载入之前定义,例如已经存在于HTML文件中或在loadpano()、loadscene()调用之前。

在 “循序渐进(13)- 需要时刻注意的krpano中的url路径问题” 上有 1 条评论

发表评论