前端Vue简单编写一个幸运大转盘抽奖游戏

7 篇文章 0 订阅

最近公司有一个需求要做一个抽奖类的大转盘游戏配合运营推广,先看看大概的界面ui图吧

 使用rotate计算每一个奖项的角度进行奖项的布局

        <ul class="gift-container">
          <li v-for="(item, index) in prizeList" :key="index" :style="{'transform': `rotate(${index * 360 / prizeList.length}deg)`}">
            <span>{{item.Name}}</span>
            <img :src="item.Pictures || DiscImg" alt="">
          </li>
        </ul>

点击抽奖给奖盘父盒子设置下面的属性

<div class="disc-list" :style="{transform:rotateAngle,transition:tranInof}"></div>

rotateNumber 是指旋转的圈数, 360度一圈, 乘55

rotateAngle 是赋值旋转角度后的CSS3属性

tranInof 是transition属性过度动画

        this.rotateNumber = 360 * 55
        this.rotateAngle = 'rotate(' + this.rotateNumber + 'deg)'
        this.tranInof = 'transform 12s linear'

如果想指向指定的奖项就计算出每个奖项的的角度的中间位置加在rotateNumber后面即可

例如:你要抽中第3个奖项 3 * 60 + 30 = 奖项角度  需要注意的是最后的rotateNumber的结果正负数会导致旋转的方向顺逆时针转动。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值