摘要:前几天看到一个微信刮刮奖的东西,感觉蛮有意思的,照着网上搜的教程自己做了下,发现几个坑,这里做下记录,希望大家多多指教。找到原因了,接口捕获的事件和捕获的事件是不同的没想到连事件都封装了
本人前端新手,刚入了一个小公司,公司web游戏的需求比较大,所以最近在搜各种微信营销活动的案例,以备不时之需。前几天看到一个微信刮刮奖的东西,感觉蛮有意思的,照着网上搜的教程自己做了下,发现几个坑,这里做下记录,希望大家多多指教。
游戏主要是一个canvas控件,先填充验色或图片,然后设置上下文(getContext("2d"))的globalCompositeOperation属性为"destination-out",然后绑定mousemove/touchmove事件来画圆就行了。问题出在绑定touchmove上:
guagua.stage .on(mobile?"touchstart":"mousedown",function () { guagua.stage.drawn=true; console.log("start") }) .on(mobile?"touchmove":"mousemove", mobile?function (e) { e.preventDefault(); if(guagua.stage.drawn){ pointX=e.originalEvent.touches[0].clientX-guagua.stageX; pointY=e.originalEvent.touches[0].clientY-guagua.stageY; guagua.drawPoint(pointX,pointY); } }:function (e) { e.preventDefault(); if(guagua.stage.drawn){ pointX=e.clientX-guagua.stageX; pointY=e.clientY-guagua.stageY; guagua.drawPoint(pointX,pointY); } } ) .on(mobile?"touchend":"mouseup",function () { console.log("end"); guagua.stage.drawn=false; if(guagua.howMuchLeft()>50){ guagua.stage.hide(); } });
网上的例子是14年的,里面移动端事件的x坐标是e.touches[0].clientX我试了一下,结果报错:touches未定义,打断点下发现touches事件列表是包含在originalEvent属性里的,然后加上去以后确实可以了,但是mozila的文档也是有touches的https://developer.mozilla.org...,我用的是chrome版本号是51.0.2704.84 m,不知道是不是浏览器的问题。
16.7.11
找到原因了,dom接口捕获的事件和jquery捕获的事件是不同的
没想到jquery连事件都封装了
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/79722.html
摘要:自定义实现时钟效果刮奖效果控件贝塞尔曲线之购物车动画效果安卓开发之自定义带加载进度的按钮仿应用宝下载进度条仿支付宝咻一咻效果模仿荷包启动动画非常漂亮的自定义点击放大悬浮精美的钟表界面酷炫钱包掉落动画安 Android自定义ClockView实现时钟效果 showImg(http://upload-images.jianshu.io/upload_images/2144156-e91c6...
阅读 1212·2021-09-26 09:55
阅读 3156·2019-08-30 15:55
阅读 947·2019-08-30 15:53
阅读 2284·2019-08-30 13:59
阅读 2367·2019-08-29 13:08
阅读 1097·2019-08-29 12:19
阅读 3289·2019-08-26 13:41
阅读 410·2019-08-26 13:24