飞机大战--简单js游戏

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .plane-area {
            width: 400px;
            height: 600px;
            position: relative;
            margin: 0 auto;
            background-color: #ccc;
        }
    </style>
</head>

<body>
    <div id="planeArea" class="plane-area">

    </div>

    <script src="./js/Background.js"></script>
    <script src="./js/Bullet.js"></script>
    <script src="./js/Plane.js"></script>
    <script src="./js/Enemy.js"></script>
    <script src="./js/Game.js"></script>
    <script>
        // 我们现在通过面向对象书写飞机大战游戏 
        // 该游戏有许多角色组成 每一个角色应当划分成一个单独的class 
        // 飞机: Plane 
        // 敌机: Enemy
        // 背景: Background
        // 整个算是一个游戏   Game
        // Game的组成是由 Plane的实例 Enemy的实例 Background的实例组成的


        // var bg = new Background(400, 600, "./images/bg.png");
        // // 渲染
        // bg.render();
        // // 上树
        // bg.appear(document.body);
        // // 背景应该能移动
        // bg.move();




        // var plane = new Plane(100, 80, 150, 400, "./images/plane.png")
        // plane.render();
        // plane.appear(planeArea);



        // document.onkeydown = function (e) {
        //     switch (e.keyCode) {
        //         case 37:
        //             plane.moveLeft();
        //             break;
        //         case 38:
        //             plane.moveUp();
        //             break;
        //         case 39:
        //             plane.moveRight();
        //             break;
        //         case 40:
        //             plane.moveDown();
        //             break;
        //     }
        //     plane.update();
        // }





        // var b = new Bullet(30, 60, 50, 50, 40, true, './images/bullet.png')
        // b.render();
        // b.appear(planeArea);








        // var e = new Enemy(100, 80, 0, 0, './images/diji.png')

        // e.render();
        // e.appear(planeArea)

        // e.moveDown();



       

        // 初始化
        var g = new Game(Plane, Enemy, Bullet, Background, planeArea);
        // 调用方法 
        g.init();
        // 开始游戏
        g.start();


        // 获取游戏区域到页面的左边距离
        var left = planeArea.offsetLeft;
        // 鼠标移动事件
        document.onmousemove = function (e) {
            console.log(e.clientX - left)
            console.log(e.clientY)
            // 根据鼠标位置 设置飞机的位置
            g.plane.x = e.clientX - left - g.plane.width / 2; 
            g.plane.y = e.clientY - g.plane.height / 2;
            // 更新
            g.plane.update();
        }



    </script>
</body>

</html>

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值