Cocos2d-x 3.2编写常用UI组件(一)新手指导框GuideLayer
在很多的游戏里(特别是RPG游戏),一开始都会有一个关于操作的介绍,几乎都像下图那样子的。 除了系统希望你所点击的区域外,其余区域都会变暗,而且你点暗的区域是不会有任何反应的。
正文: 下面我们来讲怎么实现的:
一、实现思路: 我们可以用Cocos2d-x提供给我们的LayerColor,在你想要被点击的区域周围添加4块LayerColor,如下图所示: 二、代码实现 GuideLayer.h
头文件并不复杂,应该可以看明白。这里的defaultColor是黑色,透明度为25%
GuideLayer有两个create方法,区别在于一个create是使用默认的颜色(黑色),另一个可以接受一个颜色参数。 先看使用默认颜色的create和init方法
其实实现非常的简单,就是根据传入的rect区域计算出4个不可触控区域LayerColor的坐标和大小 为自己添加一个监听器,回调函数是onTouchBegan,起阻断的作用。
再看传入颜色参数的create和init方法
只不过是间接调用了默认的init方法罢了。
最后,我们看一下监听器的回调函数
就是先检测触摸点是否在里亮的区域,如果不是,则阻断触摸点的向下传递,如果是,则允许触摸点向下传递。 由于这样子实现,所以在用到GuideLayer的时候要注意了,尽量addChild的时候把GuideLayer放到最上层。
附上效果图和GuideLayer源码 GuideLayer源码:点击下载 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |