移花接木(16)- krpano 1.19实现小行星开场

更新于 2017.9.21 krpano 1.19-pr13

krpano 1.19 pr3之后版本的默认皮肤有新功能,就是在skin_settings中可以设置是否启用小行星开场,如下:

1.19 开场场景实现小行星

下面以krpano 1.19 pr10默认皮肤tour.xml为例,

点击代码窗口最右侧按钮,在新窗口打开后复制代码

点击代码窗口最右侧按钮,在新窗口打开后复制代码

false设为true

则项目打开时的第一个个场景会有小行星开场的效果。

实际上控制小行星开场的动作代码在skin文件夹的vtourskin.xml文件中,用Ctrl+F找到skin_setup_littleplanetintro这个action

点击代码窗口最右侧按钮,在新窗口打开后复制代码

 

首先找到delayedcall(0.5, 这里将0.5改为其它数字,这是小行星效果持续的时间。这里默认是0.5秒,你如果希望效果持续时间长点,可以改为3秒,如果要短点,可以改得更小。

另外我们在krpano 1.19 pr3之后版本 需要处理两个细节

第一个细节,只显示小行星而不显示任何皮肤,包括官方模版的皮肤,只待小行星结束以后,恢复正常视图时我们才让皮肤显示。

第二个细节,保证在HTML5以及Flash下热点hotspot都不会在小行星视图中出现。

因此我们找到上面skin_setup_littleplanetintro这段action,替换为:

点击代码窗口最右侧按钮,在新窗口打开后复制代码

如果你是自定义的皮肤,那么注意参考代码中类似的位置

点击代码窗口最右侧按钮,在新窗口打开后复制代码

复制一行新的,替换一下你自定义的layer的name,例如你有个logo的layer,保证隐藏掉自定义的皮肤。直接放在上面代码的下面开新一行即可。

点击代码窗口最右侧按钮,在新窗口打开后复制代码

 

同理,找到

点击代码窗口最右侧按钮,在新窗口打开后复制代码

复制一行, 新的替换一下layer的name,保证重新显示自定义的皮肤。

点击代码窗口最右侧按钮,在新窗口打开后复制代码

下面的action是控制热点的隐藏和显示的。

点击代码窗口最右侧按钮,在新窗口打开后复制代码

该代码实现避免了VR光标的出现。

 

只在个别场景中实现小行星

设置skin_settings中的

点击代码窗口最右侧按钮,在新窗口打开后复制代码

然后在tour.xml的scene标签外找个位置写:

点击代码窗口最右侧按钮,在新窗口打开后复制代码

index是场景序号,0是第一个场景,4是第五个场景,也就是在第一个和第五个场景执行小行星,如果有更多的场景需要小行星,则继续OR,例如第三个场景也需要小行星。

点击代码窗口最右侧按钮,在新窗口打开后复制代码

 

1.19自定义皮肤的小行星开场

在scene外加入以下代码

小行星细节修改

对自定义皮肤和默认皮肤都是一样的,因为使用的都是同一个方法。

小行星结束后的视角

在tour.xml的第一个scene的view元素中修改,小行星结束后都会恢复到该view标签设置的视角

设置小行星的视角大小

找到action下面一行

修改150。

设置小行星的旋转方向

找到下面一行

修改减号为加号,可改变旋转方向。

自定义小行星结束的时机

只有触发lp_complete()才会结束小行星。例如通过鼠标点击某个按钮。

 

1.18及1.17的小行星实现

小行星使用方法

点击代码窗口最右侧按钮,在新窗口打开后复制代码

  1. 将下载的littleplanet.xml放在根目录下,也就是与tour.xml同一目录。
  2. 在自己的第一个scene的代码中增加一个 firsttime=”true”,如上面第一行代码。
  3. 在自己的第一个scene的代码中增加 <include url=”littleplanet.xml” />,如上面第12行代码。

 

源码分析

点击代码窗口最右侧按钮,在新窗口打开后复制代码

小行星文件下载地址

1.17用户可使用下面的小行星文件

链接:http://pan.baidu.com/s/1pWqgI 密码:uyia

1.18用户可使用下面的小行星文件

链接:http://pan.baidu.com/s/1vxrh8 密码:stbf

 

发表评论