第二章 web前端开发工程师--JavaScript 飞机大战游戏开发 2-4 页面开发--游戏主图移动(背景图,飞机)

JavaScript 游戏开发

 

本节课所讲内容:

  1. JavaScript 游戏开发

主讲教师:Head老师

一. JavaScript 游戏开发

本节课我们串联之前所学内容,使用HTML+JavaScript开发一款游戏(全民飞机大战)

游戏截图:

game.html

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>游戏开发-主游戏区域</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        #game{
            width: 400px;
            height: 600px;
            position: relative;
            background: url("./img/10.png") no-repeat 0 -77px;
            overflow: hidden;
        }
        #player{
            position: absolute;
            top: 372px;
            left: 158px;
        }
    </style>
</head>
<body>
    <!-- 背景主图 -->
    <div id="game">
        <!-- 玩家的飞机 -->
        <img src="./img/16.png" alt="" id="player">
    </div>

    <script>
    // 背景地图移动
       var game = document.getElementById("game");
       var bg_m = -77;
    //通过setInterval 设置地图循环  if 判断地图的位置
       setInterval(function(){
            bg_m+=2;
            if(bg_m>=187){
                bg_m=-77;
            }
            game.style.backgroundPosition="0px"+" "+bg_m+"px";
       },50)

    //    飞机的移动
    //    键盘事件 w a s d 上下左右
    //    飞机向上走    w/向上的箭头  飞机距离屏幕顶部的位置
    //    relative   改变top 的相对位置
       var player = document.getElementById("player");
       //为当前网页添加键盘事件
       window.document.onkeydown = function(ent){
           //兼容火狐和IE
           var event = ent || window.event;
           //获取键盘
           //  alert(event.keyCode);
           //  w 87   上 38
           switch(event.keyCode){
               case 87:
               case 37:
               // offsetTop 获取飞机到屏幕顶部的距离
               // 飞机不能超出屏幕的顶部  top值不能小于0
               player.style.top = Math.max(0,(player.offsetTop-10))+"px";
           }
       }


       
    </script>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值