摘要:前幾天看到一個微信刮刮獎的東西,感覺蠻有意思的,照著網(wǎng)上搜的教程自己做了下,發(fā)現(xiàn)幾個坑,這里做下記錄,希望大家多多指教。找到原因了,接口捕獲的事件和捕獲的事件是不同的沒想到連事件都封裝了
本人前端新手,剛?cè)肓艘粋€小公司,公司web游戲的需求比較大,所以最近在搜各種微信營銷活動的案例,以備不時之需。前幾天看到一個微信刮刮獎的東西,感覺蠻有意思的,照著網(wǎng)上搜的教程自己做了下,發(fā)現(xiàn)幾個坑,這里做下記錄,希望大家多多指教。
游戲主要是一個canvas控件,先填充驗色或圖片,然后設(shè)置上下文(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(); } });
網(wǎng)上的例子是14年的,里面移動端事件的x坐標是e.touches[0].clientX我試了一下,結(jié)果報錯:touches未定義,打斷點下發(fā)現(xiàn)touches事件列表是包含在originalEvent屬性里的,然后加上去以后確實可以了,但是mozila的文檔也是有touches的https://developer.mozilla.org...,我用的是chrome版本號是51.0.2704.84 m,不知道是不是瀏覽器的問題。
16.7.11
找到原因了,dom接口捕獲的事件和jquery捕獲的事件是不同的
沒想到j(luò)query連事件都封裝了
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/79722.html
摘要:自定義實現(xiàn)時鐘效果刮獎效果控件貝塞爾曲線之購物車動畫效果安卓開發(fā)之自定義帶加載進度的按鈕仿應(yīng)用寶下載進度條仿支付寶咻一咻效果模仿荷包啟動動畫非常漂亮的自定義點擊放大懸浮精美的鐘表界面酷炫錢包掉落動畫安 Android自定義ClockView實現(xiàn)時鐘效果 showImg(http://upload-images.jianshu.io/upload_images/2144156-e91c6...
閱讀 1220·2021-09-26 09:55
閱讀 3177·2019-08-30 15:55
閱讀 958·2019-08-30 15:53
閱讀 2290·2019-08-30 13:59
閱讀 2375·2019-08-29 13:08
閱讀 1102·2019-08-29 12:19
閱讀 3296·2019-08-26 13:41
閱讀 414·2019-08-26 13:24