整体效果展示:

一、实现思路

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

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

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

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

展示:

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

html代码:

        <!--主界面(游戏界面)-->
<div class="main" id="main">
<!--背景图片盒子-->
<div class="bg" class="bg">
<!--背景图片-->
<img src="img/bg1.jpg" id="back1"/>
<img src="img/bg1.jpg" id="back2"/>
</div>
<!--游戏参数盒子-->
<div class="info">
<span>击杀:</span><span id="killNum">0</span><br />
<span>得分:</span><span id="score">0</span><br />
<span>血量:</span><span id="blood">0</span><br />
<span>等级:</span><span id="level">0</span><br />
<span>炸弹:</span><span id="boom">0</span><br />
<img src="img/end1.jpg" width="80px" height="80px"/>
</div>
<!--暂停按钮-->
<div class="btn_pause" onclick="stopGame()">
<!--暂停按钮-->
<img src="img/pause1.png" />
</div>
</div>

css样式:

/*
*主界面样式
* */
.main {
position: absolute;
width: 441px;
height: 632px;
left: 35%; /*右移动*/
overflow: hidden; /*溢出部分隐藏不可见*/
z-index: -3; /*元素的堆叠顺序*/
}
/**
* 背景盒子
*/
.bg{
position: absolute;
width: 441px;
height: 632px;
z-index: -3;
/*
* -webkit-谷歌浏览器前缀是兼容性处理,还有火狐-moz-,IE-ms-
* 参数对应说明:动画名(类似函数名,调用函数一样) 时间(多久完成),播放次数(无限),速度(匀速播放)
*/
-webkit-animation: bg 10s infinite linear;
}
/*
* 背景图片
* 取消两张图片间的断层
*/
.bg img{
float: left;
}
@-webkit-keyframes bg{
from{margin-top: -932px}
to{margin-top: -150px}
}

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

以上为今天的第一讲,如需了解更加深入的知识,请大家进入知了堂社区: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. Objective-C NSFileManager的使用 各种文件操作

    所有方法 都很简单,大概记录一下,写文件并没有是追加的方式而是简单的覆盖 //创建文件夹 - (BOOL)creatDir:(NSString*)newDirName at:(NSString*)di ...

  2. centos7下安装PHP swoole扩展

    PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列, ...

  3. Redux源码分析之基本概念

    Redux源码分析之基本概念 Redux源码分析之createStore Redux源码分析之bindActionCreators Redux源码分析之combineReducers Redux源码分 ...

  4. Scrapy模拟登录知乎

    建立项目 scrapy startproject zhihu_login scrapy genspider zhihu www.zhihu.com 编写spider 知乎的登录页url是http:// ...

  5. 3. leetcode 463 Island Perimeter

    思路:设原始周长为4*节点数,每当出现一次相邻的情况,原始周长会减2.

  6. WCF项目的架构设计

    本文将介绍以WCF开发项目为主的架构设计,主要从类库的分类和代码的结构. 下面将以一个WCF实例做具体的介绍.此项目底层是一个Windows Service,WCF服务Hosted在此Windows ...

  7. jvm参数解析(含调优过程)

    前阵       对底层账单系统进行了压测调优,调优的最后一步--jvm启动参数中,减小了线程的堆栈空间:-XX:ThreadStackSize=256K,缩减至原来的四分之一,效果明显,不过并没有调 ...

  8. 小A点菜 洛谷 p1164

    题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点". 题目描述 不过ui ...

  9. GBK和UTF-8互相转码

    <1>.GBK ---> UTF-8 void ConvertGBKToUtf8(CString& strGBK) { , (LPCTSTR)strGBK, -, NULL, ...

  10. [UWP]了解模板化控件(5.1):TemplatePart vs. VisualState

    1. TemplatePart vs. VisualState 在前面两篇文章中分别使用了TemplatePart及VisualState的方式实现了相同的功能,其中明显VisualState的方式更 ...