- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
krpano代码五日速成
这一次从解决问题的思路来解释如何实现一个简单的帮助画面。
首先我们要明确需求:有一个按钮,它的功能就是弹出帮助画面,当点击这个按钮时,全景中央出现一个我们设计好的帮助图片,点击该图片,图片则消失,同时如果不点击图片,点击按钮的话,图片也会消失。
我们明确了需求后,很明显需要用到两个layer。其实说到layer和hotspot,主要就是它们的坐标系统不同。layer的坐标是相当于屏幕的(如果不设定父元素的话),而hotspot的坐标是相当于全景本身的球面坐标,也就是x、y和atv、atv的区别。当然hotspot的球面坐标也是可以转换为屏幕坐标的。
因为按钮和帮助画面实际上就是处于屏幕固定位置的两个图片,因此我们需要的是layer。这两个layer,一个是按钮的layer,一个是图片的layer。同时因为这两个layer应该在全局出现,也就是每个scene里面都可以通过点击按钮弹出帮助图片。因此我们应该把这两个layer写在scene的外面。同时让它们的keep属性为true。这样当载入新场景时,l这两个layer还在新场景中。因此我们来写:
layer name=skin_control_help keep=true url=buttom.png align=leftbottom scale=0.5 x=10 y=10 /
layer name=help keep=true url=help.png align=center visible=false /
一个layer元素的基本:它叫什么?(name),它老家哪里本质是啥?(url或者是type),它现在在哪里?(align,x,y等等)
像keep这样的属性也是不能够忽略的。
加上这两段代码之后,现在我们至少能看到一个按钮,另外帮助图片因为可见性设置为false,所以暂时看不到。现在的问题 就是如何通过鼠标点击令这两个layer成为一个有机的整体。
可以看到第二个名为help的layer实际上一直在屏幕的中部,它不是“无中生有”的,它要做的只是通过可见性属性将自己隐藏起来,在适当的时候可见,然后在适当的时候再次隐藏。假设我们现在通过点击按钮,已经让帮助图片可见,只有visible=true,鼠标事件才有效,也就是onclick仅仅在visible为true值时才有意义,因此我们可以直接加上
layer name=help keep=true url=help.png align=center visible=false onclick=set(visible,false)/
这样的话 ,点击一下帮助图片,图片瞬间就不见了。有人可能觉得是不是缺乏了一些动态效果,他们可能想要一些淡出。这要用到tween,其作用的属性应该是alpha。但这里有个陷阱,就是onclick内的事件执行顺序,如果你把tween(alpha,0)写在set(visible,false)的后面,虽然最后也执行了,但因为执行可见性在前,所以从直观上说,我们只看到帮助图片瞬间消失,而看不到淡出。因此我们要把tween这一句写在set的前面。
layer name=help keep=true url=help.png align=center visible=false onclick=tween(alpha,0);set(visible,false)/
但事实上,当我们执行到onclick的时候,还是只看到帮助图片瞬间消失,为什么还是没有我们想要的淡出效果呢?这里有个执行时间的问题。tween默认淡出的时间是0.5秒,但krpano的执行是这样的:我看到tween,开始0.5秒的执行,然后马上去执行visible这一条,也就是说不会等到0.5秒后才执行,这两条action执行的时间几乎是同时的,所谓前后只是微秒的差别,我们需要延迟0.5秒之后再执行visible这一条,所以我们还要用到delayedcall。
layer name=help keep=true url=help.png align=center visible=false onclick=tween(alpha,0);delayedcall(0.5,set(visible,false))/
ok,现在回头来处理按钮的问题。有了之前的经验,我们也应该知道是通过一个鼠标点击事件来控制help的可见性以及透明度淡出,但这个按钮不仅应该可以让原本隐藏的帮助图片显现,同时还可以让原先显现的图片隐藏。也就是你需要先判断帮助图片当前是隐藏还是可见。这样的话,我们在onclick事件里需要用判断语句if。
layer name=skin_control_help keep=true url=buttom.png align=leftbott
文档评论(0)