设为首页 加入收藏

TOP

手游研发:博彩大转盘(一)
2014-02-08 13:36:46 来源: 作者: 【 】 浏览:410
Tags:研发 博彩 转盘

  博彩大转盘,转盘抽奖的小系统,这是一个很有意思的游戏模块,游戏中增加这样一些趣味的小模块,我会附上源码;

  会增进玩家的粘性,每天都想来抽两把试试手气;

  我做的这个是个矩形风格的转盘,不是那种圆形的转盘,但是原理是相差不多的;

  首先准备一些素材,如:奖品,转盘格子背景,开始按钮等等....

  接下来,我想把这个转盘系统单独做在一个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类创建出来的一个矩形范围的矩阵转盘,有了矩形转盘,还需要游戏中的点击开始以后,循环转动的效果;

   

首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++ AMP: Lambda表达式.. 下一篇C中高精度计算阶乘实例

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)