【cocos2dx 3.3 lua】06 抽奖转盘效果

本文介绍了如何在Cocos2d-x 3.3使用Lua语言实现一个生动的抽奖转盘效果,提供了相关的代码示例,帮助开发者创建类似的应用功能。
摘要由CSDN通过智能技术生成

一个比较常用的抽奖转盘效果,代码如下:

    local totalCount = 6  -- 转盘总奖项数
    local roundCountMin = 5  -- 转动最小圈数
    local roundCountMax = 8  -- 转动最大圈数

    local singleAngle = 360 / totalCount  -- 所有奖项概率相同时 这样计算每个奖项占的角度 如果概率不同,可以使用table数组来处理
    local offsetAngle = 5  -- 为了避免不必要的麻烦,在接近2个奖项的交界处,左右偏移n角度的位置,统统不停留 否则停在交界线上,很难解释清楚 这个值必须小于最小奖项所占角度的1/2

    -- 设置随机数种子  正常情况下这应该在初始化时做  而不是在调用函数时
    math.randomseed(os.time()) 

    -- 默认随机奖项
    if stopId == nil or stopId > totalCount then
        stopId =  math.random(totalCount) -- 产生1-totalCount之间的整数
    end

    -- 转盘停止位置的最小角度 不同概率时,直接把之前的项相加即可
    local angleMin = (stopId-1) * singleAngle

    -- 转盘转动圈数 目前随机 正常情况下可加入力量元素 根据 移动距离*参数 计算转动圈数
    local roundCount = math.random(roundCountMin, roundCountMax) -- 产生roundCountMin-roundCountMax之间的整数

    -- 检查一下跳过角度是否合法 当前奖项角度-2*跳过角度 结果必须>0  TODO
    -- 转动角度
    lo
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值