jQuery实现简易的天天爱消除小游戏_jquery
程序员文章站
2022-04-26 09:38:09
...
今天分享一枚小demo:《天天爱消除游戏》,我想大家对这个游戏不陌生吧!?近期挺火的一款手游
妙味的讲师也很喜欢玩这款游戏 ,课余时间就写了个简易版天天的爱消除,除了PC端以外,试试在iPad、iPhone上玩吧~
涉及知识点:JS、HTML5;
游戏截图:
CSS:
*{ margin:0; padding:0;} #ul1{ position:relative; margin:20px auto; background:#1b1f2b; overflow:hidden;} #ul1 li{ list-style:none;} body { text-align:center;} #input1 { width:490px; height:50px; border:none; font-size:20px; position:relative; top:10px; border-radius: 12px 12px 0 0; box-shadow: 0px 3px 1px 1px #d1aca2; background: -webkit-linear-gradient(top,#fae0e1,#e8c4c2);background: -moz-linear-gradient(top,#fae0e1,#e8c4c2);background: linear-gradient(top,#fae0e1,#e8c4c2); color:#fff; } #sty1 .box0{ width:70px; height:70px; background:url(img/1.jpg) no-repeat; float:left;} #sty1 .box1{ width:70px; height:70px; background:url(img/2.jpg) no-repeat; float:left;} #sty1 .box2{ width:70px; height:70px; background:url(img/3.jpg) no-repeat; float:left;} #sty1 .box3{ width:70px; height:70px; background:url(img/4.jpg) no-repeat; float:left;} #sty1 .box4{ width:70px; height:70px; background:url(img/5.jpg) no-repeat; float:left;} #sty1 .box5{ width:70px; height:70px; background:url(img/6.jpg) no-repeat; float:left;} #sty2 .box0{ width:70px; height:70px; background:url(img/d.jpg) no-repeat; float:left;} #sty2 .box1{ width:70px; height:70px; background:url(img/l.jpg) no-repeat; float:left;} #sty2 .box2{ width:70px; height:70px; background:url(img/m.jpg) no-repeat; float:left;} #sty2 .box3{ width:70px; height:70px; background:url(img/w.jpg) no-repeat; float:left;} #sty2 .box4{ width:70px; height:70px; background:url(img/y.jpg) no-repeat; float:left;} #sty2 .box5{ width:70px; height:70px; background:url(img/z.jpg) no-repeat; float:left;}
JS
document.ontouchmove = function(ev){ ev.preventDefault(); }; $(function(){ var bBtn = true; $('#input1').click(function(){ if(bBtn){ $(this).val('点击切换到爱消除版'); $('body').attr('id','sty2'); $('#ul1').css('background','#fff'); } else{ $(this).val('点击切换教师节版'); $('body').attr('id','sty1'); $('#ul1').css('background','#1b1f2b'); } bBtn = !bBtn; }); var Game = { colNum : 7, wH : 70, timeBtn : true, dir : 0, dirThis : null, init : function(){ this.oUl = $('#ul1'); this.addSound(); this.createMap(); }, createMap : function(){ this.oUl.css({width : this.colNum*this.wH , height : this.colNum*this.wH}); var numX = 0; var numY = 0; for(var i=0;i'); oLi.attr('class','box'+ Math.floor(Math.random()*6)); oLi.data({x : numX , y : numY}); numX++; if( numX == this.colNum ){ numX = 0; numY++; } this.oUl.append( oLi ); } this.positionShow(); this.removeShow(); this.bindTouch(); }, positionShow : function(){ this.aLi = this.oUl[0].getElementsByTagName('li'); var arr = []; $(this.aLi).each(function(i,elem){ arr.push( [ elem.offsetLeft , elem.offsetTop ] ); }); $(this.aLi).each(function(i,elem){ $(elem).css({position : 'absolute',left : arr[i][0] , top : arr[i][1]}); }); this.arr = arr; }, bindTouch : function(){ var startX = 0; var startY = 0; var This = this; var izIndex = 2; var startThis = null; this.oUl.delegate('li','touchstart mousedown',function(event){ var data = event.originalEvent.changedTouches ? event.originalEvent.changedTouches[ 0 ] : event; startX = data.clientX; startY = data.clientY; startThis = this; return false; }); this.oUl.delegate('li','touchend mouseup',function(event){ var data = event.originalEvent.changedTouches ? event.originalEvent.changedTouches[ 0 ] : event; if(This.timeBtn && ( Math.abs(startX - data.clientX)>10 || Math.abs(startY - data.clientY) > 10 )){ $(startThis).css('zIndex',izIndex++); if( Math.abs(startX - data.clientX) > Math.abs(startY - data.clientY) ){// 左右 if(startX = 2){ for(var j=0;j= 2){ for(var j=0;j'); oLi.attr('class','box'+ Math.floor(Math.random()*6)); oLi.css({ position : 'absolute' , left : x*this.wH , top : -iNum*this.wH }); this.oUl.append( oLi ); return oLi.get(0); }, movePos : function(){ var bBtn = true; var This = this; for(var i=0;i
HTML
当然啦,千万别忘记载入jQuery