当前位置: 首页 > news >正文

vue扭蛋机抽奖游戏

简易扭蛋机demo

这是一个使用CSS3和JavaScript实现的扭蛋机抽奖游戏。该游戏的主要功能是通过点击按钮进行抽奖,抽奖过程中会显示滚动的小球,最终随机停止并显示一个中奖小球。

该游戏的抽奖过程如下:

  1. 当用户点击抽奖按钮时,首先检查当前是否正在进行抽奖任务或者当前有小球正在滚动。如果有,则不执行抽奖操作。
  2. 如果满足抽奖条件,则设置抽奖状态为开始,并等待4秒钟。
  3. 4秒钟后,停止抽奖,并随机选择一个小球作为中奖结果。
  4. 开始滚动中奖小球,直到小球到达最终位置。
  5. 小球到达最终位置后,停止滚动并隐藏小球。

这个游戏的实现方式是通过CSS3的动画效果和JavaScript的定时器来控制小球的滚动和抽奖的过程。使用CSS3可以轻松地实现小球的滚动效果,而JavaScript则可以控制抽奖的流程和时间。

整体代码

HTML部分

html结构可根据自己需求重新开发,一下代码只是演示,抽奖思路,ball-box下面每个图片是根据index动态添加类名,在css中方便单独设置每个小球位置

<template><div><div class="raffle"><div class="collectors"><div class="top">Top 3 Xmas Balls Collectors</div><div class="awards-list"><div class="item" v-for="(item, index) in emailList" :key="index">aaa@aaa.com</div></div></div><div class="lottery"><!-- 抽奖  --><div class="ball-box" :class="{ 'active': !opportunityStatus }"><img v-for="(item, index) in ballList" :key="index" :src="item" alt="" :class="`ball${index}`"></div><!-- 抽奖次数 --><div class="glass"><div class="glass-list"><div class="item">1 MORE CHANCE</div></div><img src="./img/glass.png" alt=""></div><!-- 滚动小球  --><img :src="lotteryBall" alt="" class="roll-ball" :class="{ 'active': rollBall }"><img src="./img/ball-base.png" alt="" class="ball-base"><img src="./img/games.png" alt="" class="games-img"></div><!-- 抽奖按钮 --><div class="play" @click="rafflePlay"><img src="./img/play-go.png" alt=""></div></div></div>
</template>
js部分

flexible文件因为布局使用rem,来计算自适应,ballList数组中的图片可自行修改

<script>
export default {data() {return {//抽奖小球ballList:[require('./img/ball-1.png'),require('./img/ball-2.png'),require('./img/ball-3.png'),require('./img/ball-4.png'),require('./img/ball-5.png'),require('./img/ball-6.png'),require('./img/bal
http://www.lryc.cn/news/262437.html

相关文章:

  • 代码随想录27期|Python|Day16|二叉树|104.二叉树的最大深度|111.二叉树的最小深度|222.完全二叉树的节点个数
  • ༺༽༾ཊ—设计-简介-模式—ཏ༿༼༻
  • Matplotlib快速入门,Python通用的绘图工具库上手
  • Linux 基本语句_16_Udp网络聊天室
  • 使用ffmpeg命令进行视频格式转换
  • Mac安装Adobe AE/pr/LR/ai/ps/au/dw/id 2024/2023报错问题解决(常见错误:已损坏/2700/146/130/127)
  • Python三级 每周练习题31
  • 【DataSophon】大数据服务组件之Flink升级
  • Android笔记(十八):面向Compose组件结合Retrofit2和Rxjava3实现网络访问
  • mybatis中oracle的sql没走索引导致特别慢(未加jdbcType的)
  • QT自带打包问题:无法定位程序输入点?metaobject@qsound
  • 7.3 lambda函数
  • dcoker-compose一键部署EFAK —— 筑梦之路
  • 音视频:Ubuntu下安装 FFmpeg 5.0.X
  • 【LSM tree 】Log-structured merge-tree 一种分层、有序、面向磁盘的数据结构
  • 配置OSPF与BFD联动示例
  • 01到底应该怎么理解“平均负载”
  • jmeter,动态参数之随机数、随机日期
  • uniApp常见知识点-问题答案
  • 云原生基础入门概念
  • 一个 tomcat 下如何部署多个项目?附详细步骤
  • pycharm强制让terminal停止执行的快捷键
  • MFC(Microsoft Foundation Classes)中 MessageBox
  • 如何让.NET应用使用更大的内存
  • 【从零开始学习JVM | 第九篇】了解 常见垃圾回收器
  • Wordle 游戏实现 - 使用 C++ Qt
  • Python 爬虫开发完整环境部署,爬虫核心框架安装
  • 汽车标定技术(十三)--标定概念再详解
  • PostgreSQL常用命令
  • 使用python脚本部署k8s集群