现在通常的web游戏都是基于html5中canvas2d或者WebGl来制作,但是css3规范能提供更加便捷的图形变换和动画定义方式,仅仅用作web文档布局有些大材小用,采用dom模型加css3来完成一些web小游戏制作需求也是一种不错的选择~

比如绘制圆角矩形,canvas2d需要用线条绘制加一些几何组合来完成,dom+css只需要定义borderRadius属性就可以。
而且dom+css和dom的事件更加有利于UI的制作,虽然一般web中可以dom和画布结合使用,但是一些情况是没有dom模型的(比如微信小游戏)。

下面的这个web小游戏就是作者百忙中每天睡觉前10分钟使用dom模型制作的(使用了Vue.js和css3)。

Vue 用于dom和数据的绑定,方便操作数据驱动dom;
css3 (animation,transform,transition)用于生产动画和图形变换;

对于其中一个玩法,使三种相同的颜色方块相连来消除它们,dom+css的流程设计为:

1. 使用vue将dom的显示抽象出一个二维数组;
2. 将用户操作完成的方块数据添加的数组中;
3. 遍历数组寻找符合消除条件的数组元素;
4. 改变这些元素绑定的的css属性;
5. 产生动画效果;

如过使用原生canvas来实现,需要绘制所有图形,绘制每一帧产生动画甚至需要写贝塞尔曲线函数来制作平滑动画。

所以一些动画或者游戏需求可以采用dom模型和css来实现也许更加合适。

放一些游戏效果图:



针对canvas2d和webGl已经有很多第三方游戏引擎,但是基于dom+css的游戏引擎目前好像还没有,基本的都是一些普通网页组件的三方。做一款基于css的游戏三方库也许不错哦~

你更偏向使用什么来做web游戏呢

  • flash
  • canvas2d
  • webgl
  • css

文中游戏体验方式:

用DOM模型和css制作web小游戏相关推荐

  1. html中背景条纹效果,CSS制作Web页面条纹背景样式的技巧分享

    通过CSS中的linear-gradient主要就能显示出不同方向的条纹效果,这里我们就了解CSS制作Web页面条纹背景样式的技巧分享,需要的朋友可以参考下 一.横向条纹如下代码:background ...

  2. html5横竖条纹背景,CSS制作Web页面条纹背景样式的介绍

    这篇文章主要介绍了关于CSS制作Web页面条纹背景样式的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 通过CSS中的linear-gradient主要就能显示出不同方向的条纹效果 ...

  3. web小游戏开发:蜘蛛纸牌(完)

    web小游戏开发:蜘蛛纸牌(完) 实现移动 成功连续的扑克 记录分数 撤销 记录操作 监听键盘 实现撤销 完整代码 html css js 小结 实现移动 上一篇文章,我们已经实现了拖拽,并用 spi ...

  4. 【游戏思路】制作简单小游戏实现思路总结

    很多小伙伴在制作游戏的时候苦于没有思路,实际上制作一个游戏是很简单的,我们可以先从小游戏开始思考. 小游戏的概念和分类 概念:单机或联机类型,操作简单,效果简单,体积不大,玩法单一类型. 特点:体积小 ...

  5. JS与HTML、CSS实现2048小游戏(一)

    JS与HTML.CSS实现2048小游戏(一) 引言 知识储备 编译器推荐 游戏框架 构建游戏的基础页面 后续文章 引言 这是大一刚结束的时候做的东西,之前也写了文章做记录,最近想发一下博客,就重新整 ...

  6. web小游戏开发:华容道(一)

    web小游戏开发:华容道(一) 华容道 html css 素材原图 素材验证 游戏关卡 华容道 老顾儿时的记忆啊,也是一个经典的益智游戏. 游戏规则就不用再介绍了吧,就是让曹操移动到曹营就算胜利. C ...

  7. web小游戏开发:华容道(完)

    web小游戏开发:华容道(完) 游戏关卡 html css js js 说明 实现角色移动和胜利判定 完整代码 小结 游戏关卡 书接上文,对于游戏来说,我们可以看做一个 4 x 5 的区域,最小的小兵 ...

  8. web小游戏开发:蜘蛛纸牌(二)

    web小游戏开发:蜘蛛纸牌(二) 修正 html 最终样式 初始的 js 发牌机制 根据难度生成扑克 洗牌 初始发牌 主动发牌 小结 样式部分 js 部分 修正 html 之前做了两个小游戏,都是用 ...

  9. python编的俄罗斯方块游戏_手把手制作Python小游戏:俄罗斯方块(一)

    手把手制作Python小游戏:俄罗斯方块1 大家好,新手第一次写文章,请多多指教 A.准备工作: 这里我们运用的是Pygame库,因为Python没有内置,所以需要下载 如果没有pygame,可以到官 ...

最新文章

  1. VC++中GlobalAlloc()、malloc()和new()函数之间区别
  2. JVM内存状况查看方法和分析工具
  3. Dynamics CRM中的操作(action)是否是一个事务(transaction)?
  4. Java必刷100题
  5. pythonweb框架使用教程_Django视频教程 - 基于Python的Web框架(全13集)
  6. ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库
  7. 工业大数据全景解读和应用案例
  8. 45 SD配置-销售凭证设置-分配订单类型/状态参数文件
  9. PyCharm 2019.3 EAP 7 发布,支持 R 语言插件
  10. mysql查询时间提前五天_mysql选择月份查询该月有付款的数据(间隔x月并提前5天付款)...
  11. 结构体02:结构体数组
  12. Red5java.util.concurrent.RejectedExecutionExceptio
  13. 佳博热敏打印机修改ip工具_佳博打印机修改ip教程本教程适用于80系列打印机及3150,9035打印.doc...
  14. java实现手机开关机_Android自动开关机实现
  15. 设置VS201X release模式下可单步调试
  16. python和前端哪个好_web前端和python学哪个出来工资高?
  17. 边缘检测论文简读、开源代码和数据集合集
  18. Echarts树形结构图加点击事件
  19. java——显示当前月的日历
  20. 穿透内网群晖NAS实现远程访问【无公网IP】

热门文章

  1. 生成唯一序列号 Unique ID
  2. java多线程实验报告总结,层层深入
  3. 小高斯与老师的故事,我觉得老师数学功底完爆小高斯一条街。
  4. 技校毕业是什么学历_技校毕业是什么学历 技校属于什么文凭
  5. Java之——读取qqwry.dat IP数据库
  6. 思科否认参与美“棱镜”项目
  7. python编程语言_python编程语言的简要历史
  8. android activity 叠加 软键盘,软键盘相关
  9. 索引图像转换为真彩色图像--MATLAB
  10. pytorch实现 残差网络 ResNet18 CIFAR-10 分类 计算top1-ACC,top3-ACC