在phaser游戏里面不用html做slider(上下滑动)
因为我们的项目是都在phaser里面做的,但是phaser里面是没有上下滑动的,所以一般都是利用分页来做这种一页放不下的情况。但是有时候也会有slide的需求吧。那么先上图。
我把它做成一个工具类(或说组件),要考虑两个问题。
1.slideBar的上下拖拽,与容器内的视图上下联动。
2.容器内的视图在上下移动时候如何隐藏。
首先,我把视图内对象都放入一个group中,再放入容器,将slideBar放入容器,要考虑slideBar的初始化长度是和内容长度相关的,这个逻辑自己算吧。拖拽sprite是有方法的,xxx.input.enableDrag(a, b, c ,d, e);里面有五个参数,可以看文档,可以知道参数d(e)是限制拖动范围的,可以传入一个new Phaser.Rectangle(x, y ,width, height)到d参数中,限制只能在这个范围移动。这样slideBar的拖动就确定了。
第二,使slideBar的拖动和视图内容联动(我这是fish),可以在update中写关于slideBar的Y变化而导致fish的Y变化。这个逻辑我也不多说了。
第三,fish的隐藏,这个就是phaser对象有一个mask的属性,好好去看看,也挺有意思的,很神奇。这个我也不多说,自己看文档。看例子都有的。
这样就做好了这个滑动组件。我放一下未完善的代码: