微信小程序项目实例——幸运大转盘

这篇具有很好参考价值的文章主要介绍了微信小程序项目实例——幸运大转盘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序项目实例——幸运大转盘

项目代码见文字底部,点赞关注有惊喜


一、项目展示

幸运大转盘是一个简单的抽奖小程序
参与用户点击抽奖便可抽取轮盘的奖品
微信小程序项目实例——幸运大转盘


二、抽奖页

抽奖页是一个大轮盘和活动规则
页面形式简单
主要核心在于轮盘

核心代码【轮盘旋转】如下:

 getLottery: function () {
    var that = this
    var awardIndex = Math.random() * 6 >>> 0;

    // 获取奖品配置
    var awardsConfig = app.awardsConfig,
        runNum = 8
    if (awardIndex < 2) awardsConfig.chance = false
    console.log(awardIndex)



    // 旋转抽奖
    app.runDegs = app.runDegs || 0
    console.log('deg', app.runDegs)
    app.runDegs = app.runDegs + (360 - app.runDegs % 360) + (360 * runNum - awardIndex * (360 / 6))
    console.log('deg', app.runDegs)

    var animationRun = wx.createAnimation({
      duration: 4000,
      timingFunction: 'ease'
    })
    that.animationRun = animationRun
    animationRun.rotate(app.runDegs).step()
    that.setData({
      animationData: animationRun.export(),
      btnDisabled: 'disabled'
    })

   // 绘制转盘
    var awardsConfig = app.awardsConfig.awards,
        len = awardsConfig.length,
        rotateDeg = 360 / len / 2 + 90,
        html = [],
        turnNum = 1 / len  // 文字旋转 turn 值
    that.setData({
      btnDisabled: app.awardsConfig.chance ? '' : 'disabled'  
    })
    var ctx = wx.createContext()
    for (var i = 0; i < len; i++) {
      // 保存当前状态
      ctx.save();
      // 开始一条新路径
      ctx.beginPath();
      // 位移到圆心,下面需要围绕圆心旋转
      ctx.translate(150, 150);
      // 从(0, 0)坐标开始定义一条新的子路径
      ctx.moveTo(0, 0);
      // 旋转弧度,需将角度转换为弧度,使用 degrees * Math.PI/180 公式进行计算。
      ctx.rotate((360 / len * i - rotateDeg) * Math.PI/180);
      // 绘制圆弧
      ctx.arc(0, 0, 150, 0,  2 * Math.PI / len, false);

      // 颜色间隔
      if (i % 2 == 0) {
          ctx.setFillStyle('rgba(255,184,32,.1)');
      }else{
          ctx.setFillStyle('rgba(255,203,63,.1)');
      }

      // 填充扇形
      ctx.fill();
      // 绘制边框
      ctx.setLineWidth(0.5);
      ctx.setStrokeStyle('rgba(228,55,14,.1)');
      ctx.stroke();

      // 恢复前一个状态
      ctx.restore();

      // 奖项列表
      html.push({turn: i * turnNum + 'turn', lineTurn: i * turnNum + turnNum / 2 + 'turn', award: awardsConfig[i].name});    
    }

其他相关代码见文章底部

效果如下:

微信小程序项目实例——幸运大转盘


三、领奖页

领奖页是对获奖的信息进行罗列


<view class="top">
	<image class="userinfo-avatar" src="{{head}}" background-size="cover"></image>
	<text style="font-size:40rpx">失散多年的哥哥</text>
</view>

<view class="mid">
	<button bindtap="gotoLottery" type="primary" style="width:600rpx;background-color:#D75858">去抽奖</button>
</view>

<view class="txt">
	<text wx:if="{{awardsList.length > 0}}">恭喜您获得了以下奖品:</text>
	<text wx:if="{{awardsList.length == 0}}">您还中奖,快去抽奖吧</text>
</view>

<view class="gift" wx:for="{{awardsList}}" wx:key="unique">
	<text style="font-size:34rpx;margin-left:30rpx">{{item}}</text>
</view>

微信小程序项目实例——幸运大转盘

文末:项目代码

点击下载

微信小程序项目实例——幸运大转盘文章来源地址https://www.toymoban.com/news/detail-514110.html

到了这里,关于微信小程序项目实例——幸运大转盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序项目实例——记账本

    项目代码见文字底部,点赞关注有惊喜 这是一款简易的记账本小程序 用户可以记录自己平日里的借入和借出的金额 此外可以手动删除记录(右滑记录) 首页划分为资产金额和资产记录两部分组成 相关代码如下: 效果图功能下 具体的介绍就到这里了 有兴趣的同学可以继续

    2024年02月12日
    浏览(30)
  • 微信小程序项目实例——投骰子

    项目代码见文字底部,点赞关注有惊喜 投骰子是一款工具类小程序 用户可以点击按钮投出自身的骰子点数 最终效果如下: 具体的介绍就到这里了 有兴趣的同学可以继续研究 代码放到下面链接里了 点击下载 小程序

    2024年02月07日
    浏览(28)
  • 微信小程序项目实例——打卡时钟

    项目代码见文字底部 这是一款简单实用的小时钟工具 分为工作和休息两种状态 用户可以设置相应的时间 所有的时钟记录都会被保存下来 首页由计时器、任务输入框和两个计时按钮组成 效果图如下: 用户在设置界面可以更改工作时长和休息时长 效果图如下: 点击下载

    2024年02月16日
    浏览(25)
  • 微信小程序项目实例——备忘录

    项目代码见文字底部,点赞关注有惊喜 项目是一个备忘录,拥有记录文字、计时和提醒的基本功能 项目只有一个页面,整体简约便捷 用户可以输入相关事件,并设立时间,便可完成备忘 当完成或未按期完成时,可以自行确认或删除 项目已上传,点击下载(关注可私聊拿代

    2024年02月11日
    浏览(27)
  • 微信小程序项目实例——别踩白块

    项目代码见文字底部,点赞关注有惊喜 别踩白块是一款微信小游戏 分为无尽模式、计时模式、急速模式三种模式 用户需要点击不断移动的黑色方块 若点击到白色方块则游戏结束 无尽模式下可以一直进行游戏 直到失败为止 其中方块的生成和点击计数代码如下: 具体的代码

    2024年02月09日
    浏览(34)
  • 微信小程序项目实例源码——本地电商平台小程序

    该微信小程序项目使用了 vant ui 组件库,项目页面完整、功能全部有效! 本项目为小程序前端项目,可以直接导入微信开发者工具中打开,可用于计算机专业的课程设计、毕设项目,也可作为商用小程序的前端页面模板。 2.1 首页 在首页中使用了轮播图作为头部 banner 广告,

    2024年02月10日
    浏览(37)
  • 微信小程序项目实例——双人五子棋

    项目代码见文字底部,点赞关注有惊喜 微信小程序项目实例——双人五子棋 双人五子棋是一款游戏小程序 两位选手可以在15x15的棋盘上 进行五子棋竞技 同时小程序设置了悔棋功能 点击落子 判断胜负 胜利效果 重新开始 悔棋 具体的介绍就到这里了 有兴趣的同学可以继续研

    2024年02月12日
    浏览(33)
  • 狼人杀微信小程序项目实例(附源码)

    狼人杀是一款多人参与的,通过语言描述推动、较量口才和分析判断能力的策略类桌面游戏。 玩家人数适于4-18人参与 主要角色有:狼人 、预言家 、平民 、女巫 、猎人 、白痴 、守卫 、骑士等 “我自己是一名从事了6年python开发的老程序员,今年年初我花了一个月整理了一

    2024年02月11日
    浏览(37)
  • 微信小程序项目实例SSM项目小程序运动减肥+后台管理系统

     🍅文末获取联系🍅 目录 一、项目介绍  3.1可行性分析 3.1.1技术可行性 3.1.2经济可行性 3.1.3操作可行性 3.2网站性能需求分析 3.3网站功能分析 3.4系统流程的分析 3.4.1 用户管理的流程 二、截图  三、源码获取 计算机毕业设计微信小程序毕设项目之运动减肥+后台管理系统_哔

    2024年02月06日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包