如何在遊戲陪玩系統原始碼中實現“刮刮樂”效果?
在遊戲陪玩系統原始碼中實現“刮刮樂”效果,也是提升使用者興趣度的一種方式,畢竟迎合潮流才能長久發展,“刮刮樂”效果在很多平臺上都已經實現,今天我們就一起來學習一下吧。
“刮刮樂”效果如下:
“刮刮樂”實現程式碼如下:
html頁面部分
首先,在遊戲陪玩系統原始碼中新建html頁面程式碼。因為要可以塗鴉,所以我們需要用到canvas來做成塗鴉塊,用於蓋住我們的獎勵文案塊。這裡我們用div的demo來包住canvas,然後獲取滑鼠點選的座標時,我們就可以直接獲取demo的x和y座標,當做滑鼠點選在canvas上的座標傳入canvas進行準確繪圖了。
//樣式部分 * { margin: 0; padding: 0; } #demo { width: 320px; margin: auto; height: 200px; position: relative; } .txtBox { position: absolute; top: 0; left: 0; width: 320px; height: 200px; z-index: -1; display: flex; justify-content: center; align-items: center; font-size: 24px; font-weight: bold; } //HTML部分 <div id="demo"> <canvas id="canvasBox">瀏覽器不支援</canvas> <div class="txtBox">美夢成真</div> </div>
js部分
在遊戲陪玩系統原始碼開發時,我們需要對canvas進行操作,需要把canvas設定成長方形且可以塗鴉的灰色塊。通過兩層的繪圖,一層透明,一層灰色,達到塗鴉灰色部分,就可以透過底部透明繪圖看到的div資訊內容了。
var canvas = document.getElementById("canvasBox"); var demo = document.getElementById("demo"); var ctx; var w = 320, h = 200; var offsetX = demo.offsetLeft, offsetY = demo.offsetTop; var mousedown = false; canvas.width = w; canvas.height = h; ctx = canvas.getContext("2d"); ctx.fillStyle = "transparent";//底部矩陣透明 ctx.fillRect(0, 0, w, h); ctx.fillStyle = "gray";//灰色 ctx.fillRect(0, 0, w, h);//頂部繪圖填充矩陣灰色 ctx.globalCompositeOperation = "destination-out";
這樣我們就在遊戲陪玩系統原始碼中繪圖出了一個灰色矩陣。
其中,canvas的globalCompositeOperation屬性為destination-out,會使在遊戲陪玩系統原始碼中的源影像外顯示目標影像。只有源影像外的目標影像部分會被顯示,源影像是透明的。
滑鼠點選移動事件監聽
在遊戲陪玩系統原始碼pc端,對滑鼠的點選事件的監聽,在滑鼠點選的情況下並且移動了滑鼠,我們就對滑鼠的座標進行獲取,並且傳遞給canvas繪圖出相對應的位置,達到刮刮樂的效果。
canvas.addEventListener("touchstart", eventDown);//滑鼠移動開始 canvas.addEventListener("touchend", eventUp);//滑鼠移動結束 canvas.addEventListener('touchmove', eventMove);//滑鼠移動 canvas.addEventListener("mousedown", eventDown);//滑鼠點選 canvas.addEventListener("mouseup", eventUp);//滑鼠鬆開 canvas.addEventListener("mousemove", eventMove)//滑鼠移動中 function eventDown(e) {//監聽滑鼠按住 e.preventDefault(); mousedown = true; } function eventUp(e) {//監聽滑鼠鬆開 e.preventDefault(); mousedown = false; } function eventMove(e) {//監聽滑鼠按住並移動,執行繪圖函式 e.preventDefault(); if (mousedown) { var x = (e.clientX + document.body.scrollLeft || e.pageX) - offsetX || 0, y = (e.clientY + document.body.scrollTop || e.pageY) - offsetY || 0; ctx.beginPath()//繪圖開始路徑 ctx.rect(x, y, 20, 20);//建立一個正方形刮刮痕跡形狀 ctx.fill(); } }
結言
想要在遊戲陪玩系統原始碼手機端的實現的話,就需要知道手機端的點選事件是什麼,然後再做座標的相減,思路差不多。到此就做出來啦,簡單叭,希望以上內容能帶給大家一些幫助。
本文轉載自網路,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996194/viewspace-2844658/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- canvas刮刮樂程式碼例項Canvas
- 如何在遊戲陪玩系統原始碼中聊天室內實現一個禮物系統?遊戲原始碼
- 如何實現遊戲陪玩系統原始碼前端效能監控?遊戲原始碼前端
- 如何在遊戲陪玩app原始碼中實現簡訊驗證碼登入?遊戲APP原始碼
- 遊戲陪玩系統原始碼中不同排序演算法的實現方式遊戲原始碼排序演算法
- iOS:一用就上癮的刮刮樂檢視iOS
- 遊戲陪玩系統原始碼中懶載入的實現方式有哪幾種?遊戲原始碼
- 遊戲陪玩系統原始碼開發,如何實現圖片和動畫的優化?遊戲原始碼動畫優化
- 如何實現遊戲陪玩系統中語音的錄製與播放?遊戲
- L1-072 刮刮彩票 分數 20
- 遊戲陪玩系統原始碼的許可權設計,如何基於位運算實現?遊戲原始碼
- 遊戲陪玩系統開發,音視訊混流的實現程式碼遊戲
- 透過websocket,實現遊戲陪玩系統的聊天室Web遊戲
- 陪玩系統原始碼中陣列去重的實現程式碼,簡單卻重要原始碼陣列
- 陪玩系統原始碼中mysql資料庫備份還原的實現程式碼原始碼MySql資料庫
- 陪玩系統原始碼實現音訊編碼的相關步驟原始碼音訊
- 遊戲陪玩平臺原始碼開發,聊天室內的禮物連擊效果的實現遊戲原始碼
- 關於遊戲陪玩系統原始碼後臺管理系統,需要思考的二三事遊戲原始碼
- 遊戲陪玩原始碼的移動端適配,應該如何實現?遊戲原始碼
- 遊戲陪玩系統開發,Java怎樣實現流合併?遊戲Java
- 帶你瞭解遊戲陪玩系統原始碼前端常用的儲存方式遊戲原始碼前端
- 陪玩系統原始碼開發,H5頁面中呼叫支付功能的實現原始碼H5
- 遊戲陪玩系統開發,日期時間選擇介面的實現遊戲
- 遊戲陪玩原始碼的登入方式,簡訊驗證碼登入的實現遊戲原始碼
- 如何開發陪玩系統原始碼的列表頁面,相關實現程式碼原始碼
- 遊戲陪玩平臺原始碼開發,依賴收集和觸發的實現遊戲原始碼
- 遊戲陪玩app原始碼開發,常用的倒數計時功能如何實現?遊戲APP原始碼
- 如何進行遊戲陪玩系統原始碼中音視訊的自動化測試?遊戲原始碼
- 遊戲陪玩APP遊戲APP
- 如何使用 Redis 實現 陪玩原始碼中“附近的人” 這一功能?Redis原始碼
- 遊戲陪玩系統實現自適應負載均衡演算法的方式遊戲負載演算法
- 遊戲陪玩系統,生成證書和金鑰庫的程式碼分析遊戲
- 在遊戲陪玩原始碼開發中,兩種清空陣列的方式遊戲原始碼陣列
- 在遊戲陪玩系統開發中,如何進行效能測試?遊戲
- 用 Go + Redis 實現陪玩平臺原始碼中的分散式鎖GoRedis原始碼分散式
- 做好陪玩系統原始碼的前端效能優化,提升系統效能原始碼前端優化
- 遊戲陪玩平臺原始碼,日期格式化的程式碼分析遊戲原始碼
- 要想實現遊戲陪玩app原始碼的效能測試與調優,應該怎麼做?遊戲APP原始碼