如何用canvas实现刮刮乐自助

编程入门 行业动态 更新时间:2024-10-27 19:20:41

<a href=https://www.elefans.com/category/jswz/34/1771443.html style=如何用canvas实现刮刮乐自助"/>

如何用canvas实现刮刮乐自助

目录

精心布局

执行计划


“这一次我要将失去的都拿回来” 结婚十年,最好的闺蜜竟然勾引我老公,我无数次的忍耐换来的却是变本加厉, 点个关注聆听我的复仇计划

精心布局

准备一个canvas元素, 在准备一个显示中奖结果的盒子,让两个元素叠在一起,刮卡的时候,再让ggl盒子里面的内容显示出来

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>#c1 {position: absolute;top: 0;left: 0;z-index: 10}.ggl {position: absolute;top: 0;left: 0;background: gray;width: 600px;height: 400px;line-height: 400px;font-size: 50px;font-weight: 700;text-align: center;}</style>
</head><body><canvas id="c1" width="600" height="400"></canvas><div class="ggl">谢谢惠顾</div>
</body>
</html>

获取canvas元素,并创建图片对象,将卡片渲染出来

<script>/*** @type {HTMLCanvasElement}*/const c1 = document.querySelector('#c1')const ggl = document.querySelector('.ggl')const ctx = c1.getContext('2d')const img = new Image()img.src = './ggl.jpg'img.onload = function () {ctx.drawImage(img, 0, 0, 600, 400)}</script>

执行计划

我们再点击鼠标并且移动时才可以刮刮,通过鼠标对象,创建一个圆,向外辐射,从而模拟刮卡的过程

通过canvas图像合成 globalCompositeOperation 为其设置destination-out, 将背后的中奖结果展示出来

let isDraw = falsec1.onmousedown = function () {isDraw = true}c1.onmouseup = function () {isDraw = false}c1.onmousemove = function (e) {let x = e.pageXlet y = e.pageYif (isDraw) {ctx.globalCompositeOperation = 'destination-out'ctx.arc(x, y, 30, 0, Math.PI * 2)ctx.fill()}}

通过这样,我们的刮刮乐就制作完毕了。

QQ录屏20230712180427

如果再添点乐趣,可以这样

 let random = Math.random()if (random < 0.2) {ggl.innerHTML = '恭喜您中了iphone13 Pro'}

更多推荐

如何用canvas实现刮刮乐自助

本文发布于:2024-03-05 15:24:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1712666.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何用   canvas   刮刮乐

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!