在前面的五篇文章中,小编带大家完成了网页版2048小游戏的基本游戏逻辑。但是在游戏结束的gameover()方法中咱们只是简单的通过alert来弹出一些信息,这样的话只能出现下图的效果。这样的游戏,不管是设计者还是玩家都是十分难以接受的。所以咱们今天再来讲讲对于gameover界面的优化。

在开始编写之前,大家可以去玩一玩原版本的手机游戏,看一下原版的游戏效果。在那个游戏中gameover的界面是在16个小格子上面生成一个透明的格子,并显示出gameover、这次游戏所得的分数和restart重新开始的按钮(如下图所示)。

这样通过这个设计好效果,咱们就可以来编写代码了。首先这个是在大格子上出现的一个覆盖式的界面,那咱们就先来添加上这个界面。使用$获取到大格子的信息然后添加一个新的div使用ID命名为gameover。Div中则是加上本次得分的文本段并显示出score的数值。最后再添加一个数值并使用一个重新开始的方法restartgame()对点击事件进行响应。

对于这个按钮,可以和newgame方法一样使用超文本链接标签a来创建,再通过href来引用方法。也可以通过button使用onclick方法对restartgame()进行调用。在这里小编为了节省代码编写量,就直接使用a标签进行命名,这样写好之后标签就会直接响应CSS文件中样式,不用再进行一次设置。

这样就建好了gameover的显示界面,然后咱们就要gameover的div进行设置了。这里同样就先设定了一个变量获取到gameove的div,再用.css进行设置。小编在这里设置时,使用了和大格子一样的宽高,这样才能让这个gameover界面彻底覆盖再游戏界面之上。而在设置背景颜色时,小编使用了一个0.5的参数,这个是让背景颜色呈现一种半透明的样式。这样才能既显示出16个小格子的数字状态,又呈现出一个深色背景覆盖的情况。

这样就只剩下新引用的一个重新开始的方法还没有编写,因为也是对于主页面进行操作,所以咱们继续在main.js中进行编写。

这个方法就比较简单了,咱们只需要将新生成的这个gameover的div移除,再让游戏分数归0,数字格、棋盘格全部初始化,就可以解决这个问题了。小编就直接调用了初始化分数的updateScore方法和newgame方法了。

这样一来,最后对于游戏gameover界面的简单优化就完成了。可是,小编又发现了一个问题,如果再gameover出现之后,小编直接点击了newgame按钮,这样就会出现数字格初始化完成,可是上面的gameover界面并没有消失(如下图)。

如果仅仅做到这种程度,那这个游戏还不够严谨,所以小编就要在newgame方法最前面添加一个gameover的div移除的方法,这样就可以说基本上将这个游戏还原完成了。

下面这个链接中,有小编编写的2048网页版的代码,大家可以参考一下。

链接:https://pan.baidu.com/s/1CWFWtWfPVYk-X8cl1dcLPg

提取码:6a4r

最后,小编再介绍一下设计游戏的一些小思路:

1、大家要去体验不同的游戏,但不是作为玩家去体验,而是从开发者的角度去体验。

2、在体验游戏的过程中要思考下面这几个方面的内容:

① 游戏的布局。

② 游戏的逻辑。

③ 如何优化游戏。

④ 如何做出咱们自己想要的效果。

3、自己做游戏时,则需要考虑如何完成游戏画面的布局:

① 游戏的样式。

② 如何叠加图片。

③ 游戏的开场动画:视频、CG之类的。

4、再者要考虑如何完成游戏的交互功能:

① 比较简单的可以使用脚本语言来实现。

② 比较复杂的则是需要使用专门的游戏引擎来完成,像是html和JavaScript的游戏引擎。

5、最关键的则是要学习游戏的算法和逻辑:

① 最开始的便是计算机的一些基础算法

② 然后就是各种2D、3D、圆等图像的算法。

6、最后则是要考虑怎么将这个游戏移植到其他平台上。

这就是一个制作游戏的大致流程,希望大家读过之后能有所收获,如果大家有什么想法欢迎大家在公众号上留言讨论,或是加入咱们凌云网络的QQ群大家一起学习各种计算机知识。

小编:池毓浩

排版:马淑芳

长按扫码和我们做朋友吧

html css js实现快递单打印_JS与HTML、CSS实现2048小游戏(六)相关推荐

  1. html css js实现快递单打印_html+css+js实现计算器

    相比其他得实现代码来说 这个界面会比较美观 index.html <html xmlns="http://www.w3.org/1999/xhtml"><head ...

  2. html+css+js适合前端小白的实战全解(超详细)——2048小游戏(三)

    续上一小节,我们回到newgame()这个函数,我们之前只做了init()内函数,相当于一个初始化操作 现在,我们需要再随机两个两个生成数字. 随机生成数字在这个游戏里会经常出现,用户移动一步,也会产 ...

  3. html+css+js适合前端小白的实战全解(超详细)——2048小游戏(二)

    续上一小节,我们可以发现每一个grid-cell上的数字初始时并不在格子里. 这些数字可以随着玩家的操作而移动 ​ 我们可以想象:初始时每一个格子上的数为0,他们并不显示 ↓ 只有当grid-cell ...

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

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

  5. 【HTML+CSS+JS】模仿星巴克主页,练习CSS排版,JS实现轮播图以及悬停动画(公开完整源码)

    目录:完整源码仅供学习 一.效果演示 二.完整源代码 2.1 HTML代码 2.2 JS代码 2.3 CSS代码 2.3.1 index.css 2.3.2 base.css 三.完整项目下载 一.效 ...

  6. 使用JS实现2048小游戏

    JS实现2048小游戏源码 效果图: 代码如下,复制即可使用: (适用浏览器:360.FireFox.Chrome.Opera.傲游.搜狗.世界之窗. 不支持Safari.IE8及以下浏览器.) &l ...

  7. 2048小游戏(原生js基础代码篇)

    今天在这里,我将给各位呈现一个简单的游戏代码. 想必大家都接触过2048这个小游戏吧,在悠闲时间用于消遣时间最好不过了,那么,我给大家写一个2048最基本的原生js代码. HTML: <!DOC ...

  8. 2048小游戏——简简单单利用js做出自己的游戏!!

    博主教你轻轻松松利用js技巧 写出属于自己的2048小游戏!! 自己做出实现在页面中 想必大家都听说过甚至玩过2048这款小游戏 博主无聊时也会拿起手机或者在电脑上玩上几把 但是大家有没有想过自己花费 ...

  9. 原生js 实现2048小游戏

    2048小游戏 首先2048小游戏离不开16个格子,我们通过html和css创建好对应的标签和样式, 然后开始js逻辑 <div id="box">//一个盒子里面16 ...

最新文章

  1. 两个有序数组的合并,python版
  2. 计算机音乐刚好遇见你乐谱,《刚好遇见你》曲谱_刚好遇见你乐谱
  3. python中字典统计成绩合_Python统计字典中的项
  4. 自己动手:修改crx文件制作自己的Chrome Apps
  5. 【星球知识卡片】深度学习图像降噪有哪些关键技术点,如何学习
  6. 总结Python机器学习中的回归算法
  7. 来来来,大家说一下CPU!【关于 CPU 的一些基本知识总结】
  8. 【WebRTC---入门篇】(十八)WebRTC非音视频数据传输
  9. Myeclipes连接Mysql数据库配置
  10. 前端之DIV+CSS布局
  11. 语言中的petchar运用_自闭症儿童语言障碍家庭训练,需要融入这些方法
  12. ffmpeg 硬解码
  13. 最新MyEclipseIDEAWebStorm安装 激活
  14. Interval GCD
  15. React ~ 生命周期
  16. python常见函数抽样_Python中从列表中随机抽样函数的语法
  17. 【分享-世界著名的免费摄影图库】 素材中国, 高清壁纸 - PxHere摄影图库
  18. 教你用优化视频的方法提高视频的质量
  19. vt-d 基本操作流程
  20. 小月域名防红程序 V2.0最新版本

热门文章

  1. Pwntools---fmtstr_payload()介绍
  2. Python教程:序列的增量赋值
  3. Python字节到大整数的打包与解包
  4. 用 Python 对比两个目录下的内容,并生成 Json 文件
  5. Python3 多线程的两种实现方式
  6. web前端入门学习 css(1)
  7. Intel Realsense 处理帧时报错:RuntimeError: null pointer passed for argument frame_ref
  8. 为计算机系的学生建立视图,数据库及其应用2010年1月真题
  9. CentOS 7镜像下载和安装教程
  10. linux查看发ftp的ip地址,linux常用命令及学习小结(4)--IP设置、samba、ftp