javascript飞机大战-----002游戏引擎

基本html布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{margin:0;padding:0;}
        .game{
            position:relative;
            width: 320px;
            height: 568px;
            margin: 50px auto;
            background: url(‘image/bg.png‘);
        }
        .game>img,.score,.life{
            position: absolute;
        }
        .score{
            top: 20px;
        }
        .life{
            right: 0;
            top: 20px;
        }
        .life{width:60px;}
        .life img{float: left;}
    </style>
</head>
<body>
    <div class="game">
        <div class="score">得分:0</div>
        <div class="life">
            <img src="image/heart.png" alt="">
            <img src="image/heart.png" alt="">
            <img src="image/heart.png" alt="">
        </div>
    </div>
</body>
</html>

效果展示

游戏引擎engine.js

/*
游戏引擎
 */
var Engine = {
    //刚开始的游戏状态
    gameStatus:false,
    //所以敌机
    enemy:{},
    //子弹
    bullet:{},
    //得分
    score:0,
    //背景图片
    game:document.querySelector(‘.game‘),
    //初始化
    init:function(){
        this.gameStart();
    },
    //游戏开始
    gameStart:function(){
        var _this = this;
        //点击图片的时候判断游戏状态
        this.game.onclick = function(){
            if(!_this.gameStatus){
                _this.gameStatus = true;
                //移动移动
                _this.bgMove();
            }
        }
    },
    //背景移动
    bgMove:function(){
        var y=0;
        var _this = this;
        this.bgTimer = setInterval(function(){
            y+=2;
            _this.game.style[‘background-position-y‘]=y+‘px‘;
        },50)
    }
};
Engine.init();

如果做到这的话点击game背景会移动

时间: 2024-10-11 12:17:45

javascript飞机大战-----002游戏引擎的相关文章

javascript飞机大战-----009游戏结束

/* 游戏引擎 */ var Engine = { //刚开始的游戏状态 gameStatus:false, //所以敌机 enemy:{}, //子弹 bullet:{}, //得分 scroe:0, //背景图片 game:document.querySelector('.game'), //页面得分 textScroe:document.querySelector('.score'), //初始化 init:function(){ this.gameStart(); }, //游戏开始 g

javascript飞机大战-----001分析

1.游戏引擎 首先要做飞机大战要考虑的是这个游戏被分成了哪几大部分?这样我们一块一块去做,特别清晰明了.那么接下来我们就简单的分析下飞机大战分成了哪几大部分 1.游戏引擎 2.英雄机 3.敌机 4.子弹 5.敌机还分为小型 中型 大型 不过这个我们可以直接继承敌机的一些方法就好了 那么接下来我们逐个分析每一大块里面主要的属性和方法 游戏引擎 属性: 游戏状态=====>gameStatus 所有敌机=====>enemy 所有子弹=====>bullet 游戏分数=====>scr

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

整体效果展示: 一.实现思路 如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图. 游戏界面的完成 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现.在此时,英雄飞机能进行基本操作了. 敌机对象的实现,并且初步完成了boos出现(30s自动出现).然后又引出了许多方法的处理,如英雄子弹击中敌机和boos,英雄与敌机相撞等等.并一一解决. 随后又设置了一些游戏的参数,如血量,关卡数,等级,积分,必杀,道具对象等等. 最后又完成了一些辅助功能,暂停游戏,继续游戏,退出

android:怎样用一天时间,写出“飞机大战”这种游戏!(无框架-SurfaceView绘制)

序言作为一个android开发人员,时常想开发一个小游戏娱乐一下大家,今天就说说,我是怎么样一天写出一个简单的"飞机大战"的. 体验地址:http://www.wandoujia.com/apps/edu.njupt.zhb.planegame 源码:https://github.com/nuptboyzhb/newplanegame 游戏分析 玩过"飞机大战"游戏的都知道,飞机大战中的主要"角色"有:1.玩家飞机2.敌方飞机3.玩家飞机发送的子

javascript飞机大战-----0010完整版代码

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{margin:0;padding:0;} .game{ position:relative; width: 320px; height: 568px; margin: 50px auto; b

javascript飞机大战-----007爆炸效果

要检验什么时候碰撞,我们必须了解什么时候不相撞.以上四种情况是不相撞的时候 首先在引擎里面写好什么时候碰撞什么时候不碰撞 /* 游戏引擎 */ var Engine = { //刚开始的游戏状态 gameStatus:false, //所以敌机 enemy:{}, //子弹 bullet:{}, //得分 score:0, //背景图片 game:document.querySelector('.game'), //初始化 init:function(){ this.gameStart(); }

javascript飞机大战-----008积分

/* 创建敌机: */ function Enemy(blood,speed,imgs,scroe){ //敌机left this.left = 0; //敌机top this.top = 0; //敌机血量 this.blood = blood; //敌机速度 this.speed = speed; //敌机图片集合 this.imgs = imgs;//爆炸前和爆炸后 //分数 this.scroe = scroe; } Enemy.prototype = { constructor:Ene

javascript飞机大战-----006创建敌机

先写一个敌机类 /* 创建敌机: */ function Enemy(blood,speed,imgs){ //敌机left this.left = 0; //敌机top this.top = 0; //敌机血量 this.blood = blood; //敌机速度 this.speed = speed; //敌机图片集合 this.imgs = imgs;//爆炸前和爆炸后 } Enemy.prototype = { constructor:Enemy, init:function(){ //

javascript飞机大战-----004创建子弹对象

/* 创建子弹:因为子弹不是只创建一个所以要用构造函数 注意一点:子弹发射的位置应该是英雄机的正中央的位置,所以需要传点东西进来 */ function Bullet(l,t){ this.l = l;//保留一下传进来的l this.t = t;//保留一下创进来的t //初始图片 this.self = null; //子弹初始left this.left = 0; //子弹初始top this.top = 0; //子弹的速度 this.speed = 2; //子弹编号 因为在引擎里面有