cocos2dx 圆盘抽奖_cocos2dx之抽奖界面与获奖概率的设计(一)

****************************************************************************

时间:2015-02-01

作者:Sharing_Li

****************************************************************************

在不同游戏中,经常有各种各样抽奖的环节,比如每次登入游戏的免费抽奖,卡牌游戏中的抽不同颜色的卡牌英雄,不同品质的武器抽奖,十连抽等等。今天给大家讲解一下,比较传统的抽奖方式,就是转转盘的抽奖,包含抽奖界面动画的设计和抽奖概率的设计。由于内容稍微有点多,所以分两篇进行讲解,本篇先介绍转盘抽奖方式的界面设计。废话不多说,先上效果图:

8d85d6f00352dab8de3a2fe0c80c025a.gif

(。。。亮瞎了我的钛合金眼!)

来看看大致的功能需求有哪些:

1、一个转盘,一个指针,可以是转盘转,也可以是指针转,本篇是转盘转。

2、转盘在转的时候,速度是先快后慢,然后停止。

3、转盘在转的时候,各种粒子效果的动画,其中包括圆环状的闪光星星,还有以椭圆轨迹运动的小彗星。

4、抽中奖品后,弹出抽中奖品的动画。

看完功能需求,再来看看代码怎么写:

先看简单的初始化代码:

bool LotteryTurnTest::init()

{

if (!Layer::init())

{

return false;

}

auto bgSize = Director::getInstance()->getWinSize();

m_pBg = Sprite::create("LotteryTurn/bg_big.png");

m_pBg->setPosition(Vec2(bgSize.width / 2,bgSize.height / 2));

this->addChild(m_pBg);

//添加标题

auto plabel = Label::createWithTTF("LotteryTurnTest","fonts/Marker Felt.ttf",30);

plabel->setPosition(Vec2(bgSize.width / 2,bgSize.height * 0.9));

m_pBg->addChild(plabel);

//添加转盘

m_turnBg = Sprite::create("LotteryTurn/turn_bg.png");

m_turnBg->setPosition(Vec2(bgSize.width / 2,bgSize.height / 2));

m_pBg->addChild(m_turnBg);

//添加指针

auto arrNor = Sprite::create("LotteryTurn/turn_arrow.png");

auto arrSel = Sprite::create("LotteryTurn/turn_arrow.png");

arrSel->setColor(Color

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值