methods: {
drawArcByPoint (x, y) {
this.context.beginPath();
const getOffset = dom => {
let left = 0;
let top = 0;
while (dom) {
left += dom.offsetLeft;
top += dom.offsetTop;
dom = dom.offsetParent;
}
return { left, top };
};
const offset = getOffset(this.canvas);
this.context.arc(x - offset.left, y - offset.top, 20, 0, Math.PI * 2);
this.context.closePath();
this.context.fillStyle = '#ff0000';
this.context.fill();
this.checkComplete();
},
// 判断是否完成刮奖 点数大于80%
checkComplete () {
const imgData = this.context.getImageData(0, 0, this.canvas.width, this.canvas.height);
const pxData = imgData.data;// 获取字节数据
const len = pxData.length; // 获取字节长度
let count = 0; // 记录透明点的个数
// 主要的思想是 一个像素由四个数据组成,每个数据分别是 rgba() 所以第四个数据 a 表示alpha透明度
fo
Vue中刮奖逻辑
最新推荐文章于 2023-10-17 11:04:32 发布
本文详细探讨了如何在Vue.js项目中实现一个刮奖逻辑,包括利用JavaScript进行随机数生成,设置刮奖区域的透明度变化,以及在刮奖过程中确保用户体验的优化。通过实例代码解析,帮助开发者掌握在H5页面中创建互动刮奖效果的方法。
摘要由CSDN通过智能技术生成