cocos2dx 圆盘抽奖_Cocos2D-X转盘游戏制作教程:博彩大转盘
现如今,我们的手机游戏随着时代发展越来越多样化,但是却有一些经典的转盘游戏或者是转盘抽奖模块一直保留了下来,这些游戏或者模块在游戏开发中是怎么制作的呢?让我们一起阅读一下本篇教程吧~
博彩大转盘,转盘抽奖的小系统,这是一个很有意思的游戏模块,游戏中增加这样一些趣味的小模块,会增进玩家的粘性,每天都想来抽两把试试手气;
我做的这个是个矩形风格的转盘,不是那种圆形的转盘,但是原理是相差不多的;
首先准备一些素材,如:奖品,转盘格子背景,开始按钮等等....
接下来,我想把这个转盘系统单独做在一个class文件夹中,以后可插拔的方便接入任何游戏,建了一个文件夹ZhuanPanSystem;
说一下大概的制作思路,首先是需要格子,来组成一个矩形矩阵,长和宽根据自己需求自己去设置,中间有一个按钮,点了之后,格子就会变背景,并且循环跑动在矩形格子上,最终根据加速度从快到慢,减速下来停在哪个格子上,便获取到该格子上的奖励;
ok,我们转盘游戏的前期准备工作和制作思路都已经做好了,接下来我们开始进入游戏开发的正题,直接上代码;
格子:
//创建一个矩阵格子阵
boxgezi = CCArray::create();
int bid = 0;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j <=5; j++)
{
Zp_BoxData* thisbox = new Zp_BoxData();
thisbox->set_boxid(bid);
thisbox->set_boxReward(getReward(bid%6));
if(bid==4)
{
thisbox->set_xuanzhong(true);
}
else
{
thisbox->set_xuanzhong(false);
}
thisbox->set_tag(bid);
switch (i)
{
case 0:
thisbox->set_point(ccp(55+gezi_w*j,allbd_h-30));
boxgezi->addObject(thisbox);
break;
case 1:
if(j<=2)
{
thisbox->set_point(ccp(55+gezi_w*5,allbd_h-30-gezi_h-gezi_h*j));
boxgezi->addObject(thisbox);
}
break;
case 2:
thisbox->set_point(ccp(55+gezi_w*5-gezi_w*j,30));
boxgezi->addObject(thisbox);
break;
case 3:
if(j<=2)
{
thisbox->set_point(ccp(55,30+gezi_h+gezi_h*j));
boxgezi->addObject(thisbox);
}
break;
default:
break;
}
bid++;
}
}
vector maua ;
for (int i = 0; i < boxgezi->count(); i++)
{
Zp_BoxData* bdata = (Zp_BoxData*)boxgezi->objectAtIndex(i);
Gzi* gz = new Gzi(allbd,bdata);
maua.push_back(bdata->get_boxid());
}
以上就是利用Gzi类创建出来的一个矩形范围的矩阵转盘,有了矩形转盘,还需要游戏中的点击开始以后,循环转动的效果;
用了一个递归去循环去跑一个加速度的效果的方法:
void TurntableSystem::runTurntableGet(float time)
{
this->schedule(schedule_selector(TurntableSystem::runAct), time);
}
void TurntableSystem::runAct(float time)
{
vector gezi_l = GlobalInfo::getInstance()->get_gizilist();
//做事儿
if(gezi_l.size()>0)
{
if(fnum>gezi_l.size()-1)
{
fnum = 0;
}
int bid = gezi_l.at(fnum);
changeBox(bid,true);
//再把上一个变回来
int lastnum = fnum-1;
if(lastnum<0)
{
lastnum=gezi_l.size()-1;
}
int lastid = gezi_l.at(lastnum);
changeBox(lastid,false);
fnum++;
}
runnum++;
this->unschedule(schedule_selector(TurntableSystem::runAct));
CCLOG("------%f----times=%d-",time,runnum);
if(runnum<25)
{
float nexttime = time+runnum*0.01f;
if(nexttime>=1.5f)
{
nexttime=1.5f;
}
this->schedule(schedule_selector(TurntableSystem::runAct),nexttime);
}
}
这边我是启动了一个定时器去实现这个递归加速的方法,里面的25目前是固定的跑25格必定停下!!!
以下就牵扯到随机数概率获取奖品的问题了,那么根据咱们策划给的方案,每个格子的概率对应的格子数,和步数
去set这个值就可以了,剩下的工作就很简单了,只需增加随机概率就可以了;
下面我贴一下跑起来的效果图:
开始后循环跑动;
小结:
好啦,本篇教程到这里就结束啦,如果你还有什么疑问,或者不明白的地方,可以到本网站的视频站观看相关视频~
cocos2dx 圆盘抽奖_Cocos2D-X转盘游戏制作教程:博彩大转盘相关推荐
- 【cocos2d-x 手游研发----博彩大转盘】
博彩大转盘,转盘抽奖的小系统,这是一个很有意思的游戏模块,游戏中增加这样一些趣味的小模块,我会附上源码: 会增进玩家的粘性,每天都想来抽两把试试手气: 我做的这个是个矩形风格的转盘,不是那种圆形的转盘 ...
- cocos 水果机,老Tiger虎机流水灯,博彩大转盘效果
原(http://www.cnblogs.com/zisou/p/cocos2d-xZhuanpan.html) 博彩大转盘,转盘抽奖的小系统,这是一个很有意思的游戏模块,游戏中增加这样一些趣味的小模 ...
- cocos2dx 圆盘抽奖_cocos2d编写的类似幸运大转盘抽奖源码
压缩包内容概览: cocos2d编写的类似幸运大转盘抽奖源码-帮你选择 ; 随机 ; 程序委托 ; 背高清 ; 背 ipad ; 返回 ; 默认 ; 默认@2x ; 图标-72 ; 图标@2x ; 我 ...
- 经典游戏制作教程[小糊涂的灵感]
经典游戏制作教程 peng 1.游戏制作的主要流程 -------------------------------------------------------------------------- ...
- 简单的RPG游戏制作教程
□企划部份 ◎第一步:决定资料格式 在进入游戏制作的初期,由于有许多和程式有关的资料需要编整,因此担任企划的人员常会忙得乱七八糟.在这个阶段,企划人员必需要和程式商量游戏中资料的格式.举个例子来说,在 ...
- cocos2dx 圆盘抽奖_cocoscreator之微信小游戏的抽奖转盘
许多小游戏里面都有涉及到抽奖环节,所以就可能会用到抽奖转盘的制作,今天分享一个自己左转盘的小小过程. 1.准备材料过程不多说,拼完界面之后大概是这样的: 2.给界面绑定脚本,在脚本的propertie ...
- 零基础 · 传说之下同人游戏制作教程
1.0 废话 可略过 最好看一下 传说之下在很久以前便出现了"AU"这个说法,也正是从那时开始,无数游戏爱好者开始制作属于自己的传说之下同人游戏,随着时间的发展,无数AU游戏的&q ...
- 塔防游戏制作教程(四)
嗨!大家好,我是小蚂蚁.今天我们继续分享制作一个塔防小游戏的第四节,如何实现炮塔的升级和出售功能. 如何实现炮塔的升级 在炮塔升级时,我们简单地做一些属性的提升以及外表的变化,例如当炮塔升级后,攻击速 ...
- 计算机与游戏制作,计算机动漫与游戏制作教程
项目1动画造型设计 学习目标 项目描述 相关知识 项目任务 任务1动画造型认知 任务2动画造型设计 应用实践 教学指导 知识链接 项目2构成设计 学习目标 项目描述 项目任务 任务1点的体验与感受 项 ...
- 《从零开始的 RPG 游戏制作教程》第九期:信息反馈(上)
目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 7.第六期:设置怪物掉落物 ...
最新文章
- 每日一皮:宿舍阿姨眼中的单身狗...
- scala中类的继承关系
- 2015年蓝桥杯省赛第5题--九数组分数
- python之路day2_Python之路,day2
- bat文件指定jdk路径_配置点击就能运行Python程序的bat批处理脚本(Windows)
- 2015年 StoiGdoi 反思总结与未来计划
- 网络安全中常见攻击方式(SQL注入、XSS攻击、CSRF攻击、网页木马、文件包含漏洞攻击、目录遍历攻击、CC攻击、DOS攻击)
- Pdf格式文件怎么修改
- ios8 xcode设置launchimage
- java调用百望税控NISEC_SKSC.dll发送xml报文
- 4.vim高级用法配置
- 巴特沃斯(Butterworth)滤波器 (2) - 双线性变换
- 微信公众平台-服务号:网页授权域名 设置
- 今天干了件力活,手工写语句来完成数据库同步.
- 【NS2】cygwin+NS2.29安装之道 (转载)
- GD32F130之USART自带的RS485方向切换功能
- 【UBDC干货分享】数据运营驱动企业价值破圈增长
- 清橙1485 Catch The Penguins 抓企鹅
- Android开发之获取通话记录
- proteus仿真micropython_用Python让单片机“行动”起来——MicroPython实战入门篇