jquery实现30个关卡闯关跳跃类游戏代码
代码语言:html
所属分类:游戏
代码描述:jquery实现30个关卡闯关跳跃类游戏代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> * { margin:0; padding:0; } #canvas { display:block; margin:10px auto; border:1px solid #bbb; outline:none; } .box { position:relative; } </style> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jquery.17.js"></script> </head> <body> <div class="box"> <canvas id="canvas" tabindex="0"></canvas> </div> <script type="text/javascript"> $(document).ready(function(e) { var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var c = $("#canvas"); var cur = c.css('cursor'); var w = 600, h = 600, dx = 0, dy = 0, x = 0, y = 0; var x2 = x; var y2 = y; var w2 = w/2; var h2 = h/2; var mf = [w2,h2]; var fadewh = 0; var le = 1; var lea = 30; var tle = le; var lv = ''; var mr = 20; var mr2 = mr/2; var start = true, fade = false, level1 = false, lev = false, mov = false, choose = false, pause = false; var kaishisize = '20px'; var tm = 1; var ya = []; var chu = []; var bu = []; var yd = []; var bd = []; var yc = []; var ly = []; var yq = []; var zb = []; var bc = []; var lt = []; var th = []; var cs = []; var cd = []; var ty = []; var hb = []; var zz = []; var v = 0; var a = .2; var mxl = 0, mxr = 0; var xv = 2; var sv = -7; var sx = 0; var sy = 0; var sx2 = 0; var sy2 = 0; var xa = 0; var xaj = .2; var bingf = 1; var pi2 = Math.PI/2; var jian = false; var kong = false; var isStart = true; var ov = false; var nanc = false; var fa = 10; var yi = true; var dkong = false; var choosestyle = '#fff'; var menustyle = '#999'; var restyle = '#999'; var tingstyle = '#999'; var backstyle = '#fff'; var cox = 100, coy = 100, cow = 60, coh = 30, coxk = 85, coyk = 40; var coy2 = coy; var cox2 = cox; var cohang = 0; var choo = []; canvas.width = w; canvas.height = h; ctx.fillStyle = '#000'; ctx.fillRect(0,0,w,h); function begin(){ ctx.fillStyle = '#fff'; ctx.fillRect(0,0,w,h); if(start)toStart(); if(choose)toChoose(); if(level1)toLevel1(); if(lev)toLev(); if(mov)move(); if(ov)over(); if(fade)toFade(); if(pause)toPause(); if(isStart)window.requestAnimationFrame(begin); } c.mousemove(function(e){ dx = e.pageX - c.offset().left - parseInt(c.css('border-left-width')); dy = e.pageY - c.offset().top - parseInt(c.css('border-top-width')); mm(); }); function mm(){ if(start){ if(dx >= 250 && dx <= 350 && dy >= 288 && dy <= 318){ kaishisize = '22px'; c.css('cursor','pointer'); }else if(dx >= 270 && dx <= 330 && dy >= 362 && dy <= 386){ c.css('cursor','pointer'); choosestyle = '#000'; } else{ kaishisize = '20px'; choosestyle = '#fff'; c.css('cursor',cur); } } if(choose && choo.length){ if(dx >= 270 && dx <= 330 && dy >= 482 && dy <= 506){ backstyle = '#000'; c.css('cursor','pointer'); }else{ backstyle = "#fff"; for(var i=0;i<lea;i++){ if(dx >= choo[i].x && dx <= choo[i].x+cow && dy >= choo[i].y && dy <= choo[i].y+coh){ choo[i].c = "#000"; c.css('cursor','pointer'); break; }else{ choo[i].c = "#fff"; c.css('cursor',cur); } } } } if(level1){ if(dx >= 560 && dx <= 590 && dy >= 10 && dy <= 35){ menustyle = '#bbb'; c.css('cursor','pointer'); }else if(dx >= 520 && dx <= 540 && dy >= 12 && dy <= 32){ restyle = '#bbb'; c.css('cursor','pointer'); }else if(dx >= 478 && dx <= 502 && dy >= 9 && dy <= 37){ tingstyle = '#bbb'; c.css('cursor','pointer'); }else{ menustyle = '#999'; restyle = '#999'; tingstyle = '#999'; c.css('cursor',cur); } } if(pause){ if(Math.sqrt(Math.pow(dx-300,2)+Math.pow(dy-300,2)) <= 100){ c.css('cursor','pointer'); }else{ c.css('cursor',cur); } } } c.click(function(){ if(start){ if(dx >= 250 && dx <= 350 && dy >= 288 && dy <= 318){ start = false; kaishisize = '20px'; c.css('cursor',cur); fade = true; }else if(dx >= 270 && dx <= 330 && dy >= 362 && dy <= 386){ start = false; kaishisize = '20px'; choosestyle = '#fff'; c.css('cursor',cur); choose = true; } } if(choose && choo.length){ for(var i=0;i<lea;i++){ if(dx >= choo[i].x && dx <= choo[i].x+cow && dy >= choo[i].y && dy <= choo[i].y+coh){ le = i+1; c.css('cursor',cur); fade = true; choose = false; break; } } if(dx >= 270 && dx <= 330 && dy >= 482 && dy <= 506){ choose = false; start = true; } } if(level1){ if(dx >= 560 && dx <= 590 && dy >= 10 && dy <= 35){ start = true; mov = false; level1 = false; lev = false; le = 1; tle = 1; }else if(dx >= 520 && dx <= 540 && dy >= 12 && dy <= 32){ xuan(); }else if(dx >= 478 && dx <= 502 && dy >= 9 && dy <= 37){ isStart = false; pause = true; } } if(pause){ if(Math.sqrt(Math.pow(dx-300,2)+Math.pow(dy-300,2)) <= 100){ isStart = true; pause = false; level1 = true; mov = true; begin(); } } }); function toPause(){ level1 = false; mov = false; ctx.fillStyle = 'rgba(0,0,0,.5)'; ctx.fillRect(0,0,w,h); ctx.beginPath(); ctx.fillStyle = '#000'; ctx.arc(300,300,100,0,4*pi2); ctx.closePath(); ctx.fill(); ctx.beginPath(); ctx.fillStyle = '#fff'; ctx.arc(300,300,96,0,4*pi2); ctx.closePath(); ctx.fill(); ctx.beginPath(); ctx.fillStyle = '#000'; ctx.moveTo(370,300); ctx.lineTo(250,230); ctx.lineTo(250,370); ctx.closePath(); ctx.fill(); } function toChoose(){ ctx.fillStyle = '#999'; ctx.fillRect(0,0,w,h); for(var i=0;i<lea;i++){ if(!choo[i]){ choo[i] = {}; } choo[i].x = cox+(cohang*coxk); choo[i].y = coy; ctx.beginPath(); ctx.strokeStyle = choo[i].c ||'#fff'; ctx.strokeRect(cox+(cohang*coxk),coy,cow,coh); ctx.closePath(); ctx.fillStyle = choo[i].c ||'#fff'; ctx.font = '16px 微软雅黑'; ctx.fillText(i+1, cox+(cohang*coxk)+cow/2,coy+coh*2/3); cohang++; if((i+1)%5 == 0 && i != 1){ .........完整代码请登录后点击上方下载按钮下载查看
网友评论0