分享一个小游戏的编写历程,内容还是有不少的,我就分开来写了哈。使用的是cocos2d-js引擎,观看此教程要有一点基础会比较容易的,这个小游戏参照了1010!这个游戏了。

这是一个拖拽类游戏,拖拽元素使用的是类俄罗斯方块。

github地址:https://github.com/lzuntalented/DragBlock
github上的内容只更新到当前教程的内容
演示地址:http://lzuntalented.github.io/lz/1010/publish/html5/index.html
演示项目中还存在一些问题,在后面教程会对此进行修复的

演示图片:

步骤:
1.创建网格背景,将这个网格放置到视图的正中心位置上。
2.默认每个网格是灰色的背景,后面方块精灵会覆盖在网格上面。为了记住这个状态,需要把网格使用一个二维数组保存下每个网格点的状态,0表示未覆盖可用,1表示该点已被使用。

/*** 创建网格背景* */createGridView : function(){var x_offset = (cc.winSize.width - PublicData.item_width * PublicData.gridview_col) / 2;var y_offset = (cc.winSize.height - PublicData.item_height * PublicData.gridview_row) / 2 + PublicData.item_height;for(var i = 0 ; i < PublicData.gridview_row ; i++){var tmp = [];for(var j = 0  ; j < PublicData.gridview_col ; j++){tmp.push(0);//填充状态0网格未被覆盖 1该网格已被覆盖var sprite = new cc.Sprite(res.Color_0_png);sprite.attr({x : PublicData.item_width * j + x_offset,y : PublicData.item_height * i + y_offset,anchorX : 0,anchorY : 1});this.addChild(sprite);}this.map.push(tmp);//填充状态数组}},

3.创建底部三个可供拖拽的方块精灵。方块精灵需要有一些属性:类型表示这个是哪种方块,方块方向,还要定义一个方块的数据结构,以便后面在消除的时候方便计算。此数据结构以左上角为原点 , 用坐标系的第四象限表示。

    /*** 绘制方块* ##* ##*/drawTian : function(){/*绘制田方块的各个点*/this.drawPoint();this.drawPoint(cc.p(PublicData.item_width,0));this.drawPoint(cc.p(0,-PublicData.item_height));this.drawPoint(cc.p(PublicData.item_width , -PublicData.item_height));this.width = PublicData.item_width * 2;//定义该方块宽度this.height = PublicData.item_height * 2;//定义该方块高度/*定义该方块的数据结构*/this.vector.push([0,0]);this.vector.push([0,1]);this.vector.push([-1,0]);this.vector.push([-1,1]);},

先写到这,把基本框架先搭出来,后面再慢慢补充哈!

js拖拽俄罗斯方块小游戏(一)相关推荐

  1. html 拖放实现拼图游戏,Canvas drag 实现拖拽拼图小游戏

    博主一直心心念念想做一个小游戏-  前段时间终于做了一个小游戏,直到现在才来总结,哈哈- 以后要勤奋点更新博客! 实现原理 1.如何切图? 用之前的方法就是使用photoshop将图片切成相应大小的图 ...

  2. 回归前端学习第22天-实现俄罗斯方块小游戏5(实现单机版1——结合HTML、CSS、JS来搭建界面)

    实现单机版俄罗斯方块小游戏,搭建页面 实现静态基础页面 实现静态基础页面 HTML: <!DOCTYPE html> <html lang="en">< ...

  3. js实现简单的俄罗斯方块小游戏

    js实现简单的俄罗斯方块小游戏 开始 1. 创建一个宽为 `200px`,高为 `360px` 的背景容器 2. 在该容器上创建一个 `20 * 20` 的块元素 3. 控制该元素的移动,每次移动 ` ...

  4. js 拖拽元素 鼠标速度过快问题

    自己写一个小工具,使用js拖拽元素时,鼠标速度过快时 元素跟不上鼠标 看网上有人说把mousemove事件绑定到dom上 试了不管用 偶然发现拖拽文字丝毫无卡顿  不知道是不是元素比较复杂的缘故? s ...

  5. js 拖拽元素 鼠标速度过快元素跟不上

    自己写一个拖拽元素,使用js拖拽元素时,鼠标速度过快时 元素跟不上鼠标 参考了网上的文章 ,里面对比了绑定到 body和document上的不同点js 拖拽元素 鼠标速度过快问题 明白过来是因为速度过 ...

  6. 回归前端学习第26天-实现俄罗斯方块小游戏9(实现单机版,一个计时带干扰的单机版俄罗斯方块小游戏完成)

    最终完善单机版俄罗斯方块小游戏,增加干扰功能--每10秒增加一行 增加干扰功能 game.js中加入addBotLine函数 local.js中加入 增加干扰功能 game.js中加入addBotLi ...

  7. javascript俄罗斯方块小游戏

    任务要求 用javascript实现一个经典的"俄罗斯方块小游戏" 要求:能计分,有不同关卡(速度不同),有高分榜, chrome 30+以上浏览器能正常玩,主流android,i ...

  8. c++ 小游戏_C/C++编程新手入门基础系列:俄罗斯方块小游戏制作源代码

    这篇文章主要为大家详细介绍了C语言实现俄罗斯方块小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 1.要先下载一个 graphics.h 的头文件来绘图. 2.初始化窗口:initgraph ...

  9. 基于stm32、0.96寸OLED实现的俄罗斯方块小游戏(详细源码注释)

    概述:本实验基于stm32最小系统.0.96寸OLED(68*128)和摇杆实现一个经典的俄罗斯方块小游戏.项目源码地址:点击下载. 硬件要求: 普通摇杆,两个电位器和一个开关组成,左右摇动控制一个电 ...

最新文章

  1. linux 网络监控指标,Linux监控一些指标
  2. range python 3.6 type class_Python 3.6 有什么新特性
  3. 推荐一款功能强大的Tomcat 管理监控工具,可替代Tomcat Manager
  4. 吴恩达神经网络1-2-2_图神经网络进行药物发现-第1部分
  5. 计算机教学学生创新能力,职业技术学校创新能力计算机教学论文
  6. 矩阵乘法Strassen算法
  7. 实现WinForm窗体的美化(借助第三方控件)
  8. 轻松实现一个操作ini文件的类
  9. 如何给共享文件夹设置密码?共享文件夹加密的方法
  10. 架构师之路 — 架构师的职责
  11. MATLAB 创建function函数,主程序打不开function函数所在的.m文件怎么办?
  12. 内存条频率4000MHZ,开启XMP技术内存读写速度前后对比图
  13. 最近流行的暴寒经典语句
  14. 用 JAVA 实现微信第三方登录
  15. UI设计中面性图标设计总结
  16. Android Calander Event
  17. android换手机照片怎么转移,换手机了怎么把照片转移到新手机
  18. 伦敦大学学院计算机科学世界排名,伦敦大学学院世界排名及专业排名汇总(QS世界大学排名版)...
  19. 用uglifyjs压缩JS js压缩 混淆
  20. 惠普战66指纹识别突然无法添加,点击添加弹窗闪退解决

热门文章

  1. LOJ6001 - 「网络流 24 题」太空飞行计划
  2. js 获取上下文后面的路径_通过在数据后面显示上下文来可视化公众意见
  3. CVE-2010-2729(MS10-061)
  4. DedeCms SEO 优化全攻略
  5. alter table 使用方法
  6. JavaCV的配置及使用
  7. 接受了微软丹棱君的专访!
  8. fixed Your CLT does not support macOS 11
  9. ZZULIOJ 1011: 圆柱体表面积(C/C++)
  10. 谷歌浏览器提示密码泄露弹窗关闭