本文主要是介绍Cocos2d-x教程第(8)讲-遮罩层实现捕鱼达人滚动数字表盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://download.csdn.net/download/u012945598/6637329 下载
玩过捕鱼达人的朋友都知道捕鱼达人记录金币的是一个类似于老虎机表盘的东西,当你打中鱼获得了金币后金币数量会滚动,我们今天将要使用OpenGL提供的遮罩效果来实现一个简单的表盘滚动功能。
首先新建一个项目,笔者命名为Test,将HelloWorld中的背景替换为下图:
可以看到,实际上表盘只是一张图片,而上面所滚动的数字我们需要用十个CCLabel来实现。新建一个类命名为ScrollLabel,
.h文件中代码如下:
正常情况下,我们仅在draw函数中设置绘图效果,但此处为了能成功遮挡所有子节点的无效绘图,所以使用visit函数设置遮罩效果。visit方法是递归调用的,并且visit方法通过调用draw来实现绘图。再来看一下.cpp文件中的代码:
图中调用setNumber函数时,输入参数为4,则项目运行后,数字会从9滚动到4的位置。
在HelloWorld中引入ScrollLabel的头文件,创建ScrollLabel类的对象,并在init()方法中加入下列代码:
此时我们还没有实现visit函数,让我们来看一下运行效果
我们看到了0-9十个数字都显示在了屏幕上,现在我们利用遮罩层,只让表盘的框格部分显示到屏幕上,重载visit函数,代码如下:
完成上述操作后运行项目,效果图如下:
这就是遮罩层的应用。
这篇关于Cocos2d-x教程第(8)讲-遮罩层实现捕鱼达人滚动数字表盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!