H5游戏源码分享-手机捉鬼游戏
一款考验手速的游戏
<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>手机捉鬼 微信HTML5在线朋友圈游戏</title><meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"><style>*{padding:0;margin:0}body{background:#000}#canvas{background:url('./catch_gui/bg.jpg');background-size:100% 100%}#timer,#times{position:absolute;top:15px;color:#e44a43;font-size:24px;display:none}#timer{left:15px}#times{right:15px}.pop{position:absolute;top:0;background:url('./catch_gui/bg2.jpg');display:none}#c0{height:100%;width:100%}.result-text{width:100%;height:70%;margin:20px auto;background:url('img/textBg.png');background-size:cover}.weixin-button{width:73%;height:10%;margin:20px auto;background:url('./catch_gui/btn-share2.png');background-size:cover}h1,h2,h3,h4{color:#fff;text-align:center;line-height:40px}.begin,.fenxiang{position:absolute;left:0;top:81%;width:100%}.begin div{margin:0 auto;width:204px;height:52px;background:url("./catch_gui/btn.png") no-repeat center;background-size:204px 52px}#play-again{position:absolute;left:10%;top:68%;font-size:2em;color:white;width:80%;border:2px solid white;display:none}.fenxiang{top:80%;z-index:1000}.fenxiang div{width:264px;height:52px;margin:0 auto}.fx_body{width:100%;height:100%;position:absolute;left:0;top:0;background:rgba(28,26,24,0.8);display:none}.fx_body div{position:absolute;right:50px;top:50px;width:191px;height:215px;background:url("./catch_gui/show_share.png") no-repeat center;background-size:191px 215px}</style> <script src="./static/zepto.min.js"></script><script src="./static/sprites.js"></script><script src="./static/requestNextAnimationFrame.js"></script><script type="text/javascript">var title = "鬼节到了,我的手机见鬼了!!胆大的快来帮忙抓鬼啊!!";var image_ready = new Image;image_ready.src = "./catch_gui/ready.png", window.onload = function() {function P(e) {var t = e.x || e.clientX, n = e.y || e.clientY, r = a.getBoundingClientRect();return{x: t - r.left * (a.width / r.width), y: n - r.top * (a.height / r.height)}}function H(e) {return{left: e.left, top: e.top, width: e.width, height: e.height}}function B() {var e = H(y), t = e.left + e.width, n = e.top + e.height;if (t > a.width || e.left < 0)E = -E, t > a.width && (y.left -= t - a.width), e.left < 0 && (y.left -= e.left);if (n > a.height || e.top < 0)S = -S, n > a.height && (y.top -= n - a.height), e.top < 0 && (y.top -= e.top)}function j() {b && B()}function F(e, t) {return e > y.left && e < y.left + y.width && t > y.top && t < y.top + y.height}function I(e, t) {return e > a.width * (1 - M) * .5 && e < a.width * (1 - M) * .5 + a.width * M && t > a.height * .8 && t < a.height + a.width * M * v.height / v.width}function q(e, t) {return e > a.width * (1 - D) * .5 && e < a.width * (1 - D) * .5 + a.width * D && t > a.height * .8 && t < a.height + a.width * D * v.height / v.width}function R(e) {var t = "", n, r;e == 0 ? (v.src = "./catch_gui/btn-share.png", n = "\u4f60\u7684\u624b\u62bd\u7b4b\u4e86\u4e48\uff1f", r = "\u5feb\u5411\u670b\u53cb\u6c42\u6551\u5427\uff01") : (v.src = "./catch_gui/btn-share2.png", n = "\u54c7\uff01\u6293\u5230" + e + "\u53ea\u9b3c", r = "\u5feb\u5411\u670b\u53cb\u70ab\u8000\u5427\uff01"), c.clearRect(0, 0, a.width, a.height), c.drawImage(p, 0, 0, a.width, a.height), c.drawImage(d, a.width * .05, a.height * .1, a.width * .9, a.width * .9 * d.height / d.width), c.drawImage(v, a.width * (1 - M) * .5, a.height * .8, a.width * M, a.width * M * v.height / v.width), n && (c.fillStyle = "rgba(255, 255, 255, 1)", c.font = "28px \u9ed1\u4f53", c.fillText(n, a.width / 2, a.height * .35), c.textAlign = "center", c.shadowBlur = 4, c.shadowOffsetX = 2, c.shadowOffsetY = 2, c.textBaseline = "middle"), r && (c.font = "28px \u9ed1\u4f53", c.fillText(r, a.width / 2, a.height * .5))}function U() {A = 0, L = 0, T = !1, N = !1, b = !1, C = !0, y.width = t, y.height = n, E = MOVE_SPEED_X, S = MOVE_SPEED_Y, $("#timer,#times").hide(), window.requestNextAnimationFrame(z)}function z(e) {var t;N ? (R(A), $("#timer,#times").hide()) : w === 0 ? w = e : (c.clearRect(0, 0, a.width, a.height), b && (t = parseFloat(e - w) / 1e3, y.left += E * t, y.top += S * t, j()), w = e, N && !A && y.width < screenWidth && y.height < screenHeight && (y.width += scaleX, y.height += scaleY, y.top = (screenHeight - y.height) / 2, y.left = (screenWidth - y.width) / 2), C ? (c.drawImage(image_ready, 0, 0, a.width, a.height), c.drawImage(m, a.width * (1 - D) * .5, a.height * .8, a.width * D, a.width * D * m.height / m.width)) : y.paint(c)), window.requestNextAnimationFrame(z)}var e = "./catch_gui/gui.png", t = 80, n = 80, r = "./catch_gui/hun.png", i = 10;MOVE_SPEED_X = 370, MOVE_SPEED_Y = 98, MOVE_SPEED_INC_PER = 1, SHOW_START_TEXT = !0, IMAGE_READY = "./catch_gui/ready.png";var s = 0, o = 0, u = function(e, t) {s = e, o = t, aab = e}, a = document.getElementById("canvas");document && (screenWidth = document.documentElement.clientWidth, screenHeight = document.documentElement.clientHeight, a.width = screenWidth, a.height = screenHeight);var f = document.getElementById("second"), l = document.getElementById("number"), c = a.getContext("2d"), h = new Image, p = new Image, d = new Image, v = new Image, m = new Image, g = new Image, y = new Sprite("ball", new ImagePainter(e, t, n)), b = !1, w = undefined, E = incVelocityX = MOVE_SPEED_X, S = incVelocityY = MOVE_SPEED_Y, T = !1, N = !1, C = SHOW_START_TEXT, k, L = 0, A = 0;h.src = r, p.src = "./catch_gui/bg2.jpg", d.src = "img/textBg.png", v.src = "./catch_gui/btn-share.png", g.src = "./catch_gui/btn-share2.png", m.src = "./catch_gui/btn.png";var O = 0;imgArr = [h, p, d, v, m, g];for (x in imgArr)imgArr[x].onload = function() {console.log(O), ++O == 6 && ($("timer").text(O), console.log(O), window.requestNextAnimationFrame(z))};var M = .75, _ = .9, D = .6;y.catched = function() {this.painter.image.src = r, b = !1, f.innerHTML = parseInt(f.innerHTML)}, y.init = function() {this.painter.image.src = e, b = !0, this.left = Math.random() * (screenWidth - y.width), this.top = Math.random() * (screenHeight - y.height)}, y.stop = function() {b = !1, N = !0, y.left = screenWidth / 2 - y.width / 2, y.top = screenHeight / 2 - y.height / 2}, $("body").on("touchstart", function(e) {if (e.target.className == "fx_body")return $(".fx_body").hide(), !1;e = e.touches[0];if (q(e.clientX, e.clientY) || T) {if (!b)if (!T) {$("#timer,#times").show(), scaleX = (screenWidth - y.width) / i, scaleY = (screenHeight - y.height) / i, f.innerHTML = 10;var t = setInterval(function() {var e = parseInt(f.innerHTML);f.innerHTML = --e, L++, L != 0 && (E = E < 0 ? E - incVelocityX * MOVE_SPEED_INC_PER : E + incVelocityX * MOVE_SPEED_INC_PER, S = S < 0 ? S - incVelocityY * MOVE_SPEED_INC_PER : S + incVelocityY * MOVE_SPEED_INC_PER), e <= 0 && (y.stop(), clearInterval(t), u(A, L), setInterval(function() {R(A)}, 500))}, 1e3);b = !0, T = !0} elseN && I(e.clientX, e.clientY) && $(".fx_body").show();else!N && F(e.clientX, e.clientY) && (A++, l.innerHTML = A, b = !b, y.catched(), setTimeout(function() {y.init();var num = document.getElementById("number").innerHTML;if(num>0){title = "哇!我抓到 "+num+" 只鬼,赶紧来试试吧!";}}, 300));C && (C = !1)}return!1}), this.left = Math.random(screenWidth / 2), this.top = Math.random(screenHeight / 2)}</script><script></script></head><body><canvas id="canvas" width="1366" height="652">Canvas not supported</canvas><div id="timer">Time:<span id="second">10</span>s</div><div id="times">Catch:<span id="number">0</span></div><div class="fx_body"><div></div></div><script>document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {WeixinJSBridge.on('menu:share:appmessage', function(argv) {WeixinJSBridge.invoke('sendAppMessage', {"img_url": "http://app.46465.com/html5/zhuogui/logo.png","link": "http://app.46465.com/html5/zhuogui/index.html","desc": "鬼节到了,我的手机见鬼了!!胆大的快来帮忙抓鬼啊!!","title": title}, function(res) {document.location.href = "http://app.46465.com/";})});WeixinJSBridge.on('menu:share:timeline', function(argv) {WeixinJSBridge.invoke('shareTimeline', {"img_url": "http://app.46465.com/html5/zhuogui/logo.png","img_width": "120","img_height": "120","link": "http://app.46465.com/html5/zhuogui/index.html","desc": "鬼节到了,我的手机见鬼了!!胆大的快来帮忙抓鬼啊!!","title": title}, function(res) {document.location.href = "http://app.46465.com/";});});}, false);</script> <img src="http://img.tongji.linezing.com/3455448/tongji.gif">
</body></html>
项目地址:https://download.csdn.net/download/Highning0007/88481860