[知了堂学习笔记]_纯JS制作《飞机大战》游戏_第1讲(实现思路与游戏界面的实现)
整体效果展示:

一、实现思路

如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图。
- 游戏界面的完成
- 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现。在此时,英雄飞机能进行基本操作了。
- 敌机对象的实现,并且初步完成了boos出现(30s自动出现)。然后又引出了许多方法的处理,如英雄子弹击中敌机和boos,英雄与敌机相撞等等。并一一解决。
- 随后又设置了一些游戏的参数,如血量,关卡数,等级,积分,必杀,道具对象等等。
- 最后又完成了一些辅助功能,暂停游戏,继续游戏,退出游戏等。
当然,我做的并不是一个完全版,还有很多需要改进的地方。我只是初步实现了飞机大战游戏最初级的游戏体验,还需要多多学习去完善。
二、游戏界面的完成(主界面)
展示:

要实现这个的界面,主要是用到了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讲(实现思路与游戏界面的实现)的更多相关文章
- 【知了堂学习笔记】java 自定义异常
java 常见异常种类(Java Exception): 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCas ...
- [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第3讲(逻辑方法的实现)
整体展示: 上一讲实现了诸多对象,这次我们就需要实现许多逻辑方法,如控制飞机移动,判断子弹击中敌机,敌机与英雄飞机相撞等等.并且我们在实现这些功能的时候需要计时器去调用这些方法.setInterval ...
- [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第2讲(对象的实现及全局变量的定义)
整体展示: 一.全局变量 /*===================玩家参数==========================*/ var myPlane; //英雄对象 var leftbtn = ...
- [知了堂学习笔记]_牵线Eclipse和Tomcat第二篇 —— 安装Tomcat&&添加Tomcat到Eclipse
来了来了~~~~~我们的"织女"--Tomcat来了,牛郎们等急了吧!哈哈! 一.安装Tomcat 下载地址:http://tomcat.apache.org/download-7 ...
- [知了堂学习笔记]_牵线Eclipse和Tomcat第一篇 —— 配置Java环境变量&&安装eclipse
一.先给他们提供一个"浪漫的"环境,比如传说中的"鹊桥"--java环境变量.哈哈! 配置java环境变量. 下载jdk,根据自己电脑的版本和操作位数选择不同的 ...
- [知了堂学习笔记]_ajax的两种使用方式
一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都 ...
- 【知了堂学习笔记】java web 简单的登录
最近皮皮潇在学习java web,刚接触了简单的东西,所以今天给大家带来一个简单的登录实现. 页面: 页面代码: <%@ page language="java" conte ...
- [知了堂学习笔记]_JSON数据操作第1讲(初识JSON)
一.认识JSON 什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式..它基于 ECMAScript (w3c制定的js规 ...
- 【知了堂学习笔记】java 编写几种常见排序算法2
排序的分类: 1.直接选择排序 它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~ ...
随机推荐
- Python进阶——笔记1
1.*args 的用法 *args 和 **kwargs 主要用于函数定义. 你可以将不定数量的参数传递给一个函数. 这里的不定的意思是:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场 ...
- jsp元素
1.指令元素:用于在JSP转换为Servlet阶段提供JSP页面的相关信息,如页面采用的字符编码集.页面中需要导入的类等信息,指令元素不会产生任何的输出到当前JSP的输出流中 指令元素有三种指令:pa ...
- 单页面应用(spa)引入百度地图(Cannot read property 'dc' of undefined)
难点介绍 引入百度地图的时候,用原生的获取不到dom节点. ( var mapEle = document.getElementById(testApi): var map = new BMap.Ma ...
- python常用模块(1):collections模块和re模块(正则表达式详解)
从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...
- OC-UICollectionView实现瀑布流
UICollectionView实现瀑布流 在iOS中可以实现瀑布流的目前已知的有2种方案: 使用UIScrollView自己封装一套,这种方案是应用于iOS6之前的,因为iOS6才出来UIColle ...
- excel下拉级联的做法
前面的文章讲了,excel下拉级联,重新选第一个下拉,后面那个值怎么清除.今天我讲下excel利用宏解决整个表格的级联下拉问题. 我遇到的情况是两个下垃圾连,第一个医生类别,第二个医生职称,而且我是要 ...
- vue指令v-cloak示例解析
v-cloak会隐藏未编译的 Mustache 标签,直至实例准备完毕: [v-cloak] { display: none; } <div v-cloak> {{ message }} ...
- HTML 基本标签02
02-html基本标签 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- 关于IE,Chrome,Firefox浏览器的字符串拼接问题
昨天项目测试的时候,IE8.IE11测试勾选checkbox然后执行保存的时候,竟然执行的结果与预期相反,吓屎我了,最终排查之下,原来是拼接checkbox的值的时候出现的问题.本人对js了解知之甚少 ...
- C#快速入门
一.简介 1.C#是由Anders Hejlsberg和他的团队在.Net框架开发期间开发的:是.Net框架的一部分. C#是专为公共语言基础结构(CLI)设计的,CLI由可执行代码和运行时环境组成, ...