分享六个游戏中可能用到的功能类代码
本文笔者学习Cocos2d-x有一段时间,写了几个小小的功能类,现在把源码发布出来,与大家交流学习,有任何问题欢迎参与本帖的讨论。
这几个简单的类包括:
1.A星寻路
2.虚拟摇杆
3.滚动背景
4.对话框管理
5.简单数字特效
6.简单shader特效
里面都带有简单的Demo,除了shader特效之外都提供2.2.3和3.2两个版本的代码。
Demo地址:https://github.com/bluesky466/cocos2dxUsefulClasses
Demo下载:DEMO.rar
1. A星寻路,用于简单的格子地图寻路
Demo用的是Cocos2d-x 3.2,但A*算法类与Cocos2d-x的版本无关,可以在所有版本上使用(点击屏幕添加障碍物,然后按go开始)。
2. 虚拟摇杆
左下角那个就是啦,拖动摇杆可以控制篮球的运动。
3. 滚动背景
一个无限滚动背景,也可以做到边滚动边插入和边滚动边删除。
支持背景的从上到下,从下到上,从左到右,从右到左四个方向的滚动。
4. 对话框管理
如果鼠标点击位置在对话框之外,自动隐藏对话框,并使得内部控件不可触碰(就算隐藏了,如果不做特殊处理,控件还是会响应触碰事件的)。
5. 简单数字特效
就是让数字一点一点增加或者减少,可以选择增加的数目或者变化到的目标数字。
6. 简单shader特效
一个简单的shader特效类,能够修改精灵,动画等的颜色。只写了2.2.3的代码,3.2的opengl使用方式有变化。
这个类有bug,就是特效矩阵并不准确,透明通道计算出来的结果并不是最后的显示结果,好奇怪。
默认实现的特效有:
-
ES_NONE //没有特效
-
ES_BLACK_AND_WHITE //黑白化
-
ES_OLD_PHOTOS //老照片
-
ES_INVERT //反相
-
ES_BURNS //灼伤(偏红)
-
ES_POISONING //中毒(偏绿)
-
ES_COLD //寒冷(偏蓝)
除此之外还能自行输入特效矩阵
文中有关代码有什么地方设计的不好的地方或者遇到bug,欢迎参与本帖的讨论。
来源网址:http://www.cocoachina.com/bbs/read.php?tid-238482-page-1.html