如何用HTML和css实现拼图,打造自己的html5拼图小游戏

得益于liuyubobobo老师的canvas课程和思路指点,做了一版简单的 html5拼图小游戏,下面就简单介绍一下实现的原理。。。

利用canvas裁剪拼图所需的小块图片//核心代码如下:

var index = 1;

for (var i=0; i<3; i++) {

for (var j=0; j<3; j++) {

ctx.drawImage(image, 300*j, 300*i, 300, 300, 0, 0, 300, 300);

$lis.eq(imgArr[index-1]-1).find('img').data('seq', index).attr('src', canvas.toDataURL('image/jpeg'));

index++;

}

}

小块拼图的随机排列//核心代码如下:

var imgArr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

imgArr.sort(function(a, b) {

return Math.random() - Math.random();

});

相关touch事件的绑定//组织手机上浏览器的弹性下拉。。。

$('body').on('touchstart', function(e) {

e.preventDefault();

});

$lis.on('swipeLeft', function(e) {

//....

});

$lis.on('swipeRight', function(e) {

//....

});

$lis.on('swipeUp', function(e) {

//....

});

$lis.on('swipeDown', function(e) {

//....

});

游戏结果的判断var resArr = [];

$('#gameBox img').each(function(k, v) {

resArr.push(v.getAttribute("data-seq"));

});

//oriArr:原始的顺序数组

if (resArr.join("") === oriArr.join("")) {

//成功后的处理。。。

}

核心代码和思路就是上面这些,其实整个过程走下来还是蛮简单的,接下来无非要做的就是再加一下花哨的东西了(时间,难度等级,排名等等)。如果有同学感兴趣的话,完整版代码猛戳 这里 了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值