整体效果展示:

一、实现思路

如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图。

  1. 游戏界面的完成
  2. 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现。在此时,英雄飞机能进行基本操作了。
  3. 敌机对象的实现,并且初步完成了boos出现(30s自动出现)。然后又引出了许多方法的处理,如英雄子弹击中敌机和boos,英雄与敌机相撞等等。并一一解决。
  4. 随后又设置了一些游戏的参数,如血量,关卡数,等级,积分,必杀,道具对象等等。
  5. 最后又完成了一些辅助功能,暂停游戏,继续游戏,退出游戏等。

当然,我做的并不是一个完全版,还有很多需要改进的地方。我只是初步实现了飞机大战游戏最初级的游戏体验,还需要多多学习去完善。

二、游戏界面的完成(主界面)

展示:

要实现这个的界面,主要是用到了css中animation(动画)属性来进行设置。下面我会贴出我写的代码。

html代码:

  1. <!--主界面(游戏界面)-->
  2. <div class="main" id="main">
  3. <!--背景图片盒子-->
  4. <div class="bg" class="bg">
  5. <!--背景图片-->
  6. <img src="img/bg1.jpg" id="back1"/>
  7. <img src="img/bg1.jpg" id="back2"/>
  8. </div>
  9. <!--游戏参数盒子-->
  10. <div class="info">
  11. <span>击杀:</span><span id="killNum">0</span><br />
  12. <span>得分:</span><span id="score">0</span><br />
  13. <span>血量:</span><span id="blood">0</span><br />
  14. <span>等级:</span><span id="level">0</span><br />
  15. <span>炸弹:</span><span id="boom">0</span><br />
  16. <img src="img/end1.jpg" width="80px" height="80px"/>
  17. </div>
  18. <!--暂停按钮-->
  19. <div class="btn_pause" onclick="stopGame()">
  20. <!--暂停按钮-->
  21. <img src="img/pause1.png" />
  22. </div>
  23. </div>

css样式:

  1. /*
  2. *主界面样式
  3. * */
  4. .main {
  5. position: absolute;
  6. width: 441px;
  7. height: 632px;
  8. left: 35%; /*右移动*/
  9. overflow: hidden; /*溢出部分隐藏不可见*/
  10. z-index: -3; /*元素的堆叠顺序*/
  11. }
  12. /**
  13. * 背景盒子
  14. */
  15. .bg{
  16. position: absolute;
  17. width: 441px;
  18. height: 632px;
  19. z-index: -3;
  20. /*
  21. * -webkit-谷歌浏览器前缀是兼容性处理,还有火狐-moz-,IE-ms-
  22. * 参数对应说明:动画名(类似函数名,调用函数一样) 时间(多久完成),播放次数(无限),速度(匀速播放)
  23. */
  24. -webkit-animation: bg 10s infinite linear;
  25. }
  26. /*
  27. * 背景图片
  28. * 取消两张图片间的断层
  29. */
  30. .bg img{
  31. float: left;
  32. }
  33. @-webkit-keyframes bg{
  34. from{margin-top: -932px}
  35. to{margin-top: -150px}
  36. }

第一次发帖,还不熟悉套路,请大家多多包涵!

以上为今天的第一讲,如需了解更加深入的知识,请大家进入知了堂社区:http://www.zhiliaotang.com/portal.php;

[知了堂学习笔记]_纯JS制作《飞机大战》游戏_第1讲(实现思路与游戏界面的实现)的更多相关文章

  1. 【知了堂学习笔记】java 自定义异常

    java 常见异常种类(Java Exception): 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCas ...

  2. [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第3讲(逻辑方法的实现)

    整体展示: 上一讲实现了诸多对象,这次我们就需要实现许多逻辑方法,如控制飞机移动,判断子弹击中敌机,敌机与英雄飞机相撞等等.并且我们在实现这些功能的时候需要计时器去调用这些方法.setInterval ...

  3. [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第2讲(对象的实现及全局变量的定义)

    整体展示: 一.全局变量 /*===================玩家参数==========================*/ var myPlane; //英雄对象 var leftbtn = ...

  4. [知了堂学习笔记]_牵线Eclipse和Tomcat第二篇 —— 安装Tomcat&&添加Tomcat到Eclipse

    来了来了~~~~~我们的"织女"--Tomcat来了,牛郎们等急了吧!哈哈! 一.安装Tomcat 下载地址:http://tomcat.apache.org/download-7 ...

  5. [知了堂学习笔记]_牵线Eclipse和Tomcat第一篇 —— 配置Java环境变量&&安装eclipse

    一.先给他们提供一个"浪漫的"环境,比如传说中的"鹊桥"--java环境变量.哈哈! 配置java环境变量. 下载jdk,根据自己电脑的版本和操作位数选择不同的 ...

  6. [知了堂学习笔记]_ajax的两种使用方式

    一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都 ...

  7. 【知了堂学习笔记】java web 简单的登录

    最近皮皮潇在学习java web,刚接触了简单的东西,所以今天给大家带来一个简单的登录实现. 页面: 页面代码: <%@ page language="java" conte ...

  8. [知了堂学习笔记]_JSON数据操作第1讲(初识JSON)

    一.认识JSON 什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式..它基于 ECMAScript (w3c制定的js规 ...

  9. 【知了堂学习笔记】java 编写几种常见排序算法2

    排序的分类: 1.直接选择排序 它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~ ...

随机推荐

  1. NOIP模拟:饼干(简单规律推导)

    题目描述 小美有一张很大的网格:2 n * 2 n .每次小美会选一个小矩阵 2 x * 2 x , x > 0,小矩阵不能超过网格的边界.然后把右上一半都放上饼干.下图是当 x=1或2 的时候 ...

  2. 云游戏学习与实践(二)——安装GamingAnywhere

    安装GamingAnywhere 一.GamingAnywhere项目 GamingAnywhere是一个开源的实现云游戏的引擎,并且高效.跨平台.易扩展.可调配. GitHub地址:https:// ...

  3. iOS TextView输入长度限制 设置placeholder

    textView在使用中通常会有2个功能是最常用的 设置placeholder 限制输入长度 TYLimitedTextView刚好是为了解决这个2个问题而诞生的,下面讲解TYLimitedTextV ...

  4. ETL作业调度软件TASKCTL4.1单机部署

    单机部署,实际上就是将EM节点和一个Server节点安装到同一个地方.EM节点是TASKCTL服务端的最顶层,主要负责客户端与服务端之间的通信.Server节点是TASKCTL的调度服务控制层,也有A ...

  5. ETL作业调度工具TASKCTL软件安装乱码问题解决

    前两天在安装批量作业调度软件TASKCTL4.5时,将安装介质解压出来后执行安装脚本时,一安装就出现下图乱码. 然后就度娘了一下,发现安装遇到乱码的人还挺多的,大多数解答都说TASKCTL软件里面很多 ...

  6. win10 vmware下Linux系统联网

    本来,这个问题网上资源很多的,但是就因为多,就变得杂了,对于许多新手,并不理解为啥,故记录下来方便以后使用.此处我采用配置VWmare虚拟网关(上学期刚刚学计算机网络,正好可以复习下).关于虚拟机下L ...

  7. Swift学习之构造方法

    定义 构造过程是为了使用某个类.结构体或枚举类型的实例进行的准备过程.这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务. 构造方法可以被归结为指定构造方法与遍历构造方法,在S ...

  8. 51. leetcode 530. Minimum Absolute Difference in BST

    530. Minimum Absolute Difference in BST Given a binary search tree with non-negative values, find th ...

  9. RSA简介(二)——模幂算法

    RSA最终加密.解密都要用到模乘的幂运算,简称模幂运算. 回忆一下RSA,从明文A到B B=Ae1%N 对B解密,就是 A=Be2%N 其中,一般来说,加密公钥中的e1一般会比较小,取65537居多, ...

  10. Vue学习-01

    1.vue 学习 v-bind:title 数据绑定 v-if 判断显示或者隐藏 <div id="app-3"> <p v-if="seen" ...