原生JavaScript编写canvas版的连连看游戏

本文实例为大家分享了JavaScript编写canvas版的连连看游戏的具体实现代码,供大家参考,具体内容如下

效果图:

实现代码:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style>

#box{

/*border: 1px solid #D1D1D1; */

overflow: hidden;

position: relative;

padding-bottom: 60px;

}

#bg{

background-color: rgba(254,195,89,.2);

}

#mycanvas{

position: absolute;

top: 36px; left: 0;

}

#toolsbar{

width: 100%;

position: absolute;

bottom: 10px;

left: 0;

overflow: hidden;

}

button{

outline: none;

border: none;

width: 100px;

height: 32px;

background-color: #d80049;

color: #FFFFFF;

border-radius: 5px;

margin-right: 10px;

cursor: pointer;

}

#timeline{

height: 26px;

width: 568px;

padding-bottom: 10px;

background: url(images/time_slot-hd.png) no-repeat;

overflow: hidden;

}

#timeline span{

display: block;

width: 100%;

height: 100%;

display: flex;

overflow: hidden;

}

#timeline span:before,

#timeline span:after{

display: block;

content: "";

height: 26px;

background: url(images/time_bars-hd.png) no-repeat;

}

#timeline span:before{

width: 12px;

}

#timeline span:after{

/*width: 100%;*/

background-position: right top;

-webkit-flex: 1;

/*margin-top: -26px;*/

}

</style>

</head>

<body>

<div id="box">

<div id="timeline"><span></span></div>

<div id="toolsbar">

<button class="resort">重列(3)</button>

<button class="tip">提示(3)</button>

<button class="boom">炸弹(3)</button>

<button class="parse" style=" background-color: #00AA79;">暂停</button>

<button class="restart" style="margin-left: 50px; background-color: #00AA79;">重新开始</button>

</div>

<canvas id="bg" width="818" height="474px"></canvas>

<canvas id="mycanvas" width="818" height="474px">

</canvas>

</div>

</body>

</html>

<script type="text/javascript" src="../../public/js/jquery-1.11.2.min.js" ></script>

<script type="text/javascript" src="control.js" ></script>

<script type="text/javascript" src="matrix.js" ></script>

<script type="text/javascript" src="draw.js" ></script>

<script type="text/javascript" src="map.js" ></script>

<script type="text/javascript" >

$(function(){

var matrix = MAP_ARR[parseInt(Math.random()*MAP_ARR.length)];

window._Matrix = new Matrix(matrix,36);

window.draw = new Draw({

id : "mycanvas",

step : 42,

matrix : _Matrix.matrix,

dir : "images/",

speed : 300

});

var controller = new control({

step : 42,

col : 19,

row : 11,

id : "bg",

time : 90000,

draw : draw,

_Matrix : _Matrix,

times : 3

});

$("#mycanvas").on("click",function(e){

var x = e.offsetX,

y = e.offsetY;

var _x = Math.floor((x-1)/43),

_y = Math.floor((y-1)/43);

controller.click(_x,_y);

});

$(".resort").on("click",function(){

var count = parseInt($(this).text().match(/\d+/)[0]);

if(count){

count--;

$(this).text("重列("+ count +")");

}

controller.resort();

});

var tiped = false,tips;

$(".tip").on("click",function(){

var count = parseInt($(this).text().match(/\d+/)[0]);

if(count){

count--;

$(this).text("提示("+ count +")");

}

controller.gettips();

});

$(".boom").on("click",function(){

var count = parseInt($(this).text().match(/\d+/)[0]);

if(count){

count--;

$(this).text("炸弹("+ count +")");

}

controller.boom();

});

$(".restart").on("click",function(){

controller.restart();

});

$(".parse").on("click",function(){

var bool = $(this).text() == "暂停";

$(this).text(bool ? "继续" : "暂停")

controller.parse();

});

controller.watch(function(percent){

$("#timeline span").width(percent+"%");

});

});

</script>

源码下载:连连看游戏

关于JavaScript编写游戏的开发实例还有很多,具体大家可以参考专题《javascript经典小游戏汇总》进行学习,希望对大家的学习有所帮助。

以上是 原生JavaScript编写canvas版的连连看游戏 的全部内容, 来源链接: utcz.com/z/320447.html

回到顶部